Boost logo

Boost :

Subject: Re: [boost] Fwd: [SORT] Parallel Algorithms
From: Francisco José Tapia (fjtapia_at_[hidden])
Date: 2015-06-08 16:44:20


Hi Steven,

 I changed the name of the examples. Now are :

   - example_single_thread
   - example_default_threads
   - example_100_threads

 I will prepare a sort benchmark for to run in 5 minutes. I will do a new
program, because if begin to include options in the programs, can be long
and can be confuse for the users.

 Timsort in Windows, sort the data, but the time and memory used are much
greater than the used in Linux. I think the best option is to remove of the
Windows benchmarks.

I will examine the licenses, and I think only need to specify the license
of each part of the code because I only use, don't modify.

 I will modify the text about spreadsort, trying to explain in a easy way

 The benchmarks programs are different in Windows and Linux, because the
algorithms compared are different. In Windows don't have the GCC
algorithms, and in Linux don't have the PPL algorithms.

 About the int_array objects. The constructor and the operator = function
with an 64 bits integer as parameter, are functions used before, but don't
used now. The operator << is the same. The reason for to implement a
complex comparison function, is because in a sort algorithm the two main
functions are move and compare. I want to implement the worst case, big
objects hard to move and hard to compare.

 About the optimization of the code I use the -O3 optimization parameter
for all the code. The TBB parallel stable sort have 4 different versions (
Open-MP, CilkPlus, TBB high level and TBB low level), the fastest is TBB
low level and due this is the used in the benchmarks.

In the attached file (parallel_objects.txt) you can see the results in my
machine with all kind of data (sorted, reverse sorted, random, random
%50000000, random % 10000, and equal elements).

 About to use the code for to parallelize spreadsort, feel free for to use.
And if you need help , need any question or have any problem, please, say
me.

 When you decide to do , say me and I will prepare a description of the two
approach used in order to decide the best for your code, and how to
implement. Some things are complex to understand reading only the code.

 I am modifying the documents, deleting the errors, mistakes, and changing
the doxygen documentation of the code, for to reduce only tho the final
functions and the object Nthread.

I hope have all ready in one or two weeks, because now I am in the middle
of the exams, and the corrections need many time and energy ( they are
terribly boring).

 Francisco




Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk