Skip to content
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
033d2bc
Added initial static_reduction_map files.
jrhemstad Dec 16, 2020
fe606cd
Add template parameter for reduction binary op.
jrhemstad Jan 4, 2021
fd3b98f
Fix static_assert for ReductionOp::value_type.
jrhemstad Jan 4, 2021
a3678fb
CG reduction insert implementation.
jrhemstad Jan 5, 2021
5a65bf6
Cleanup of CG insert.
jrhemstad Jan 5, 2021
28e0995
Pass reduction op to device view ctors.
jrhemstad Jan 5, 2021
8dc64ee
Add pair ctor for constructing from two elements.
jrhemstad Jan 5, 2021
573bce2
Allow bulk insert kernel to work on iterators over tuples.
jrhemstad Jan 5, 2021
d9236e5
Add device decorator to reduction op definition.
jrhemstad Jan 5, 2021
89ed44e
Add get_op function to allow accessing the op from
jrhemstad Jan 5, 2021
e28db80
Make insert return a bool after all.
jrhemstad Jan 5, 2021
0eeac20
Use get_op in implementation.
jrhemstad Jan 5, 2021
fa31c81
Make insert return a bool.
jrhemstad Jan 5, 2021
ab81b2b
Correct insert to return if the key was the first key inserted.
jrhemstad Jan 5, 2021
46f9b73
First test verifying size passed.
jrhemstad Jan 5, 2021
8aebabb
Update CG insert logic.
jrhemstad Jan 6, 2021
9fb930e
Add more tests.
jrhemstad Jan 6, 2021
24261b2
Add test for inserting all unique keys.
jrhemstad Jan 7, 2021
e635e31
Use relaxed fetch_add.
jrhemstad Jan 7, 2021
d749445
Update the slot references each iteration.
jrhemstad Jan 7, 2021
ca9f7d6
Increase size of unique key test.
jrhemstad Jan 7, 2021
9eebd17
Make map size function of number of keys.
jrhemstad Jan 7, 2021
212b8f6
Add other agg ops.
jrhemstad Jan 7, 2021
cda527a
Add custom binary op.
jrhemstad Jan 7, 2021
7c1af0f
Return old value in custom op.
jrhemstad Jan 7, 2021
3f1b59d
reduction map benchmarks.
jrhemstad Apr 8, 2021
71a0122
Merge remote-tracking branch 'origin/dev' into reduction-map
jrhemstad May 13, 2021
2a38d70
Remove redundant ctor.
jrhemstad May 13, 2021
f2d1a26
Add initial static_reduction_map example.
jrhemstad May 13, 2021
3c79701
Remove cuda_memcmp header.
jrhemstad May 13, 2021
8261d93
Add unsafe accessors to raw slots via reinterpret_cast.
jrhemstad May 19, 2021
c6daa09
Add retreive_all implementation.
jrhemstad May 19, 2021
62a99ab
Add retrieve_all to example.
jrhemstad May 19, 2021
a526c16
Merge branch 'dev' into reduction-map
sleeepyjack Jul 23, 2021
c1fe449
Sync static_reduction_map with latest changes in static_map.
sleeepyjack Aug 1, 2021
fb9c0ec
Tests for static_reduction_map added.
sleeepyjack Aug 1, 2021
e8e5461
Benchmarks for static_reduction_map added + reduce-by-key performance…
sleeepyjack Aug 1, 2021
1d97a6f
Added CUDA stream support for static_reduction_map.
sleeepyjack Aug 1, 2021
b4351fc
Fix custom reduction op implementation and add exponential backoff st…
sleeepyjack Aug 2, 2021
80ef0ee
Parameter grid search for CAS loop backoff added.
sleeepyjack Aug 2, 2021
54e2022
Reduce-by-key performance analysis.
sleeepyjack Aug 4, 2021
cc853c3
Additional benchmark setups for static_reduction_map.
sleeepyjack Aug 4, 2021
28069d0
Make key_generator.hpp usable from other benchmark suites.
sleeepyjack Aug 5, 2021
26787ad
Fix for make_from_uninitialized_slots.
sleeepyjack Aug 5, 2021
e2a81b3
[WIP] Added benchmark for static_reduction_map in shared memory.
sleeepyjack Aug 5, 2021
9807d8f
Added definition for slot_type.
sleeepyjack Aug 6, 2021
0c1bd4d
Change visibility of get_slots() from protected to public. (Fix for d…
sleeepyjack Aug 6, 2021
58a2ead
Move test helpers to util.hpp.
sleeepyjack Aug 7, 2021
f4979b1
Added tests for custom_op and shared memory hash table.
sleeepyjack Aug 7, 2021
01e75bd
Added definition for slot_type.
sleeepyjack Aug 6, 2021
1e86659
Change visibility of get_slots() from protected to public. (Fix for d…
sleeepyjack Aug 6, 2021
21be2e1
Move test helpers to util.hpp.
sleeepyjack Aug 7, 2021
53bfe27
Added tests for custom_op and shared memory hash table.
sleeepyjack Aug 7, 2021
f4c703a
Added benchmark for static_reduction_map in shared memory.
sleeepyjack Aug 8, 2021
492b4cc
Merge branch 'smem-bench' into reduction-map
sleeepyjack Aug 8, 2021
ec76e8a
Add example for shared memory hash table.
sleeepyjack Aug 9, 2021
961e88b
Fix for static_reduction_map::contains.
sleeepyjack Aug 9, 2021
5931c9f
Extend parameter range for shared memory hash table benchmark.
sleeepyjack Aug 9, 2021
902b93a
Size computation using thrust::count_if. Asynchronous bulk operations.
sleeepyjack Aug 9, 2021
d440243
Add throughput column to nvbench benchmarks.
sleeepyjack Aug 10, 2021
4339b2b
Fix for reductions over FP types.
sleeepyjack Aug 24, 2021
6293117
Add support for both static/dynamic extent of device_view.
jrhemstad Oct 13, 2021
cddd733
Add predicated store to prevent optimization.
jrhemstad Oct 13, 2021
c43f7fb
Add multiplicity to benchmark.
jrhemstad Oct 14, 2021
8f965b1
Merge pull request #1 from jrhemstad/static-extent-reduction-map
sleeepyjack Oct 14, 2021
bef9aa6
Add appropriate host qualifier to device_view_base functions.
jrhemstad Oct 14, 2021
a99b56f
Import extent static member into device_mutable_view.
jrhemstad Oct 14, 2021
e87fc9d
Add static_assert for factory from static array.
jrhemstad Oct 14, 2021
607f79f
Merge branch 'dev' into reduction-map
sleeepyjack Feb 7, 2022
6d05ebb
Merge branch 'dev' into reduction-map
sleeepyjack Feb 7, 2022
5f24429
Minor fixes addressing reviewer comments
sleeepyjack Mar 21, 2022
c2e4e62
Move reduction operators to include/cuco/
sleeepyjack Mar 23, 2022
e1361a3
Added a tag to ensure that only valid reduction functors can be used
sleeepyjack Mar 23, 2022
d196de5
Move common kernels to a new file
PointKernel May 26, 2022
e904dca
Updates: incorporate new kernel header
PointKernel May 26, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge branch 'dev' into reduction-map
Conflicts:
	benchmarks/CMakeLists.txt
	examples/CMakeLists.txt
	tests/CMakeLists.txt
  • Loading branch information
sleeepyjack committed Jul 23, 2021
commit a526c169758dc11f0f611033e8a08d07677b351f
12 changes: 0 additions & 12 deletions benchmarks/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,13 @@ if (benchmark_ADDED)
set_target_properties(benchmark PROPERTIES CXX_STANDARD 14)
endif()

###################################################################################################
# Auto-detect available GPU compute architectures
set(GPU_ARCHS "" CACHE STRING "List of GPU architectures (semicolon-separated) to be compiled for. Empty string means to auto-detect the GPUs on the current system")

if("${GPU_ARCHS}" STREQUAL "")
include(../cmake/EvalGpuArchs.cmake)
evaluate_gpu_archs(GPU_ARCHS)
endif()

message("GPU_ARCHS = ${GPU_ARCHS}")

###################################################################################################
# - compiler function -----------------------------------------------------------------------------

function(ConfigureBench BENCH_NAME BENCH_SRC)
add_executable(${BENCH_NAME} "${BENCH_SRC}")
set_target_properties(${BENCH_NAME} PROPERTIES
POSITION_INDEPENDENT_CODE ON
CUDA_ARCHITECTURES "${GPU_ARCHS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/gbenchmarks")
target_include_directories(${BENCH_NAME} PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}")
Expand Down
3 changes: 1 addition & 2 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@

function(ConfigureExample EXAMPLE_NAME EXAMPLE_SRC)
add_executable(${EXAMPLE_NAME} "${EXAMPLE_SRC}")
set_target_properties(${EXAMPLE_NAME} PROPERTIES
CUDA_ARCHITECTURES "${GPU_ARCHS}"
set_target_properties(${EXAMPLE_NAME} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/examples")
target_include_directories(${EXAMPLE_NAME} PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}")
Expand Down
13 changes: 8 additions & 5 deletions tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ function(ConfigureTest TEST_NAME TEST_SRC)
$<TARGET_OBJECTS:CatchMain>) # Link in the CatchMain object file
target_link_libraries(${TEST_NAME} Catch2::Catch2 cuco CUDA::cudart)
set_target_properties(${TEST_NAME} PROPERTIES
CUDA_ARCHITECTURES "${GPU_ARCHS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/tests")
target_compile_options(${TEST_NAME} PRIVATE --expt-extended-lambda --expt-relaxed-constexpr -Xcompiler -Wno-subobject-linkage)
catch_discover_tests(${TEST_NAME})
Expand All @@ -36,9 +35,13 @@ endfunction(ConfigureTest)
###################################################################################################
### test sources ##################################################################################
###################################################################################################
set(STATIC_MAP_TEST_SRC
"${CMAKE_CURRENT_SOURCE_DIR}/static_map/static_map_test.cu")

ConfigureTest(STATIC_MAP_TEST "${CMAKE_CURRENT_SOURCE_DIR}/static_map/static_map_test.cu")
ConfigureTest(STATIC_MAP_TEST "${STATIC_MAP_TEST_SRC}")
####################################################################################################
set(DYNAMIC_MAP_TEST_SRC
"${CMAKE_CURRENT_SOURCE_DIR}/dynamic_map/dynamic_map_test.cu")

ConfigureTest(STATIC_REDUCTION_MAP_TEST "${CMAKE_CURRENT_SOURCE_DIR}/static_reduction_map/static_reduction_map_test.cu")

ConfigureTest(DYNAMIC_MAP_TEST "${CMAKE_CURRENT_SOURCE_DIR}/dynamic_map/dynamic_map_test.cu")
ConfigureTest(DYNAMIC_MAP_TEST "${DYNAMIC_MAP_TEST_SRC}")
####################################################################################################
You are viewing a condensed version of this merge commit. You can view the full changes here.