Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce by key, extends #1141 #2097

Merged
merged 20 commits into from Apr 22, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
cb9ab5a
Add first work on reduce_by_key
biddisco Dec 21, 2015
8db58d5
Compiling, version of zip, transform, stencil iterator
biddisco Dec 22, 2015
96a05a6
Fixup state generation for start/end/mid/both blocks
biddisco Dec 22, 2015
456646f
Fix reduce by key to work in exclusive mode
biddisco Jan 1, 2016
588e81c
Put debug information under #define control
biddisco Jan 2, 2016
3989d73
Add test for reduce_by_key
biddisco Jan 2, 2016
d1c4eeb
Remove older experimental code and use inclusive scan (not exclusive)
biddisco Jan 2, 2016
b14b2fc
Fix stream compaction and return type
biddisco Jan 2, 2016
323f2ee
Fix comparison operator use and tidy up typedefs
biddisco Jan 4, 2016
7e1dbe8
Improve test to handle types and comparison operator
biddisco Jan 4, 2016
01a7c07
Fix algorithm return type for task type executor
biddisco Jan 5, 2016
e587210
Do not call internal parallel algorithms with async policy
biddisco Jan 6, 2016
d260f95
Fix an ambiguous namespace error
biddisco Jan 11, 2016
b82ada2
Reformat code to please inspect tool, clean up warnings etc
biddisco Jan 11, 2016
40a2402
Improve reduce_by_key_test and add timing output for dashboard
biddisco Apr 15, 2016
7f655d1
Cleanup reduce_by_key documentation and remove debug output from test
biddisco Apr 17, 2016
1c06ef5
Format fixes for inspect, use #ifdef around debug routines, use hpx s…
biddisco Apr 17, 2016
780898d
Fix documentation generation for reduce_by_key
biddisco Apr 17, 2016
84ae009
Fix correct par(task)/seq(task) async execution in reduce_by_key
biddisco Apr 18, 2016
c14c97b
Fix some broken type checks, docs and #includes
biddisco Apr 19, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/CMakeLists.txt
Expand Up @@ -84,6 +84,7 @@ set(doxygen_dependencies
"${PROJECT_SOURCE_DIR}/hpx/parallel/algorithms/mismatch.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/algorithms/move.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/algorithms/reduce.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/algorithms/reduce_by_key.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/algorithms/remove_copy.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/algorithms/replace.hpp"
"${PROJECT_SOURCE_DIR}/hpx/parallel/algorithms/reverse.hpp"
Expand Down
3 changes: 3 additions & 0 deletions docs/hpx.idx
Expand Up @@ -228,6 +228,9 @@ parallel::move "move" "hpx\.parallel\.v1\.move$"
# hpx/parallel/algorithms/reduce.hpp
parallel::reduce "reduce" "hpx\.parallel\.v1\.reduce.*"

# hpx/parallel/algorithms/reduce_by_key.hpp
parallel::reduce_by_key "reduce_by_key" "hpx\.parallel\.v1\.reduce_by_key.*"

# hpx/parallel/algorithms/for_loop_reduction.hpp
parallel::reduction "reduction" "hpx\.parallel\.v2\.reduction"
parallel::reduction_plus "reduction_plus" "hpx\.parallel\.v2\.reduction_plus"
Expand Down
5 changes: 5 additions & 0 deletions docs/manual/parallel_algorithms.qbk
Expand Up @@ -314,6 +314,11 @@ __hpx__ provides implementations of the following parallel algorithms:
[[ [algoref reduce] ]
[Sums up a range of elements.]
[`<hpx/include/parallel_reduce.hpp>`]]
[[ [algoref reduce_by_key] ]
[Performs an inclusive scan on consecutive elements with matching keys, with a reduction
to output only the final sum for each key. The key sequence {1,1,1,2,3,3,3,3,1} and value
sequence {2,3,4,5,6,7,8,9,10} would be reduced to keys={1,2,3,1}, values={9,5,30,10}]
[`<hpx/include/parallel_reduce.hpp>`]]
[[ [algoref transform_reduce] ]
[Sums up a range of elements after applying a function.]
[`<hpx/include/parallel_transform_reduce.hpp>`]]
Expand Down
1 change: 1 addition & 0 deletions hpx/include/parallel_reduce.hpp
Expand Up @@ -8,6 +8,7 @@
#define HPX_PARALLEL_REDUCE_JUN_28_2014_0827AM

#include <hpx/parallel/algorithms/reduce.hpp>
#include <hpx/parallel/algorithms/reduce_by_key.hpp>

#endif