Skip to content
This repository has been archived by the owner on Mar 21, 2024. It is now read-only.

Commit

Permalink
WIP: Enable CDP tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
alliepiper committed Apr 21, 2022
1 parent 104df37 commit c3b8482
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 7 deletions.
2 changes: 1 addition & 1 deletion dependencies/cub
15 changes: 9 additions & 6 deletions testing/cuda/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ file(GLOB test_srcs

# These tests always build with RDC, so make sure that the sm_XX flags are
# compatible. See note in ThrustCudaConfig.cmake.
# TODO once we have 3.18 as the minimum version, we can setup non-rdc fallback
# tests to build for non-rdc arches. But for now, all files in a given directory
# must build with the same `CMAKE_CUDA_FLAGS`.
set(CMAKE_CUDA_FLAGS "${THRUST_CUDA_FLAGS_BASE} ${THRUST_CUDA_FLAGS_RDC}")

foreach(thrust_target IN LISTS THRUST_TARGETS)
Expand All @@ -18,11 +21,11 @@ foreach(thrust_target IN LISTS THRUST_TARGETS)
get_filename_component(test_name "${test_src}" NAME_WLE)
string(PREPEND test_name "cuda.")

thrust_add_test(test_target ${test_name} "${test_src}" ${thrust_target})

# All in testing/cuda will test device-side launch (aka calling parallel
# algorithms from device code), which requires the CUDA device-side runtime,
# which requires RDC, so these always need to be built with RDC.
thrust_enable_rdc_for_cuda_target(${test_target})
# Create two targets, one with RDC enabled, the other without. This tests
# both device-side behaviors -- the CDP kernel launch with RDC, and the
# serial fallback path without RDC.
thrust_add_test(fb_test_target ${test_name}.fallback "${test_src}" ${thrust_target})
thrust_add_test(cdp_test_target ${test_name}.cdp "${test_src}" ${thrust_target})
thrust_enable_rdc_for_cuda_target(${cdp_test_target})
endforeach()
endforeach()

0 comments on commit c3b8482

Please sign in to comment.