Enable sort tests with large types that can be compiled now
MODIFY
cmake/Dependencies.cmake
cmake/Dependencies.cmake
@@ -49,7 +49,7 @@ set(ROCPRIM_ROOT ${CMAKE_CURRENT_BINARY_DIR}/rocPRIM CACHE PATH "")
download_project(
PROJ rocPRIM
GIT_REPOSITORY https://projects.streamhpc.com/amd/rocPRIM.git
- GIT_TAG thrust
+ GIT_TAG develop_thrust_stream
INSTALL_DIR ${ROCPRIM_ROOT}
CMAKE_ARGS -DBUILD_TEST=OFF -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
LOG_DOWNLOAD TRUE

MODIFY
test/test_stable_sort_by_key_large.cpp
test/test_stable_sort_by_key_large.cpp
@@ -64,10 +64,9 @@ TEST(StableSortByKeyLargeTests, TestStableSortByKeyWithLargeKeys)
_TestStableSortByKeyWithLargeKeys<int, 4>();
_TestStableSortByKeyWithLargeKeys<int, 8>();
// XXX these take too long to compile
-// also anything larger than 8 causes the compiler to not unroll the loops.
-// _TestStableSortByKeyWithLargeKeys<int, 16>();
-// _TestStableSortByKeyWithLargeKeys<int, 32>();
-// _TestStableSortByKeyWithLargeKeys<int, 64>();
+ _TestStableSortByKeyWithLargeKeys<int, 16>();
+ _TestStableSortByKeyWithLargeKeys<int, 32>();
+ _TestStableSortByKeyWithLargeKeys<int, 64>();
// _TestStableSortByKeyWithLargeKeys<int, 128>();
// _TestStableSortByKeyWithLargeKeys<int, 256>();
// _TestStableSortByKeyWithLargeKeys<int, 512>();
@@ -113,10 +112,9 @@ TEST(StableSortByKeyLargeTests, TestStableSortByKeyWithLargeValues)
_TestStableSortByKeyWithLargeValues<int, 4>();
_TestStableSortByKeyWithLargeValues<int, 8>();
// XXX these take too long to compile
-// also anything larger than 8 causes the compiler to not unroll the loops.
-// _TestStableSortByKeyWithLargeValues<int, 16>();
-// _TestStableSortByKeyWithLargeValues<int, 32>();
-// _TestStableSortByKeyWithLargeValues<int, 64>();
+ _TestStableSortByKeyWithLargeValues<int, 16>();
+ _TestStableSortByKeyWithLargeValues<int, 32>();
+ _TestStableSortByKeyWithLargeValues<int, 64>();
// _TestStableSortByKeyWithLargeValues<int, 128>();
// _TestStableSortByKeyWithLargeValues<int, 256>();
// _TestStableSortByKeyWithLargeValues<int, 512>();
@@ -157,10 +155,9 @@ TEST(StableSortByKeyLargeTests, TestStableSortByKeyWithLargeKeysAndValues)
_TestStableSortByKeyWithLargeKeysAndValues<int, 4>();
_TestStableSortByKeyWithLargeKeysAndValues<int, 8>();
// XXX these take too long to compile,
-// also anything larger than 8 causes the compiler to not unroll the loops.
-// _TestStableSortByKeyWithLargeKeysAndValues<int, 16>();
-// _TestStableSortByKeyWithLargeKeysAndValues<int, 32>();
-// _TestStableSortByKeyWithLargeKeysAndValues<int, 64>();
+ _TestStableSortByKeyWithLargeKeysAndValues<int, 16>();
+ _TestStableSortByKeyWithLargeKeysAndValues<int, 32>();
+ _TestStableSortByKeyWithLargeKeysAndValues<int, 64>();
// _TestStableSortByKeyWithLargeKeysAndValues<int, 128>();
// _TestStableSortByKeyWithLargeKeysAndValues<int, 256>();
// _TestStableSortByKeyWithLargeKeysAndValues<int, 512>();

MODIFY
testing/stable_sort_by_key_large.cu
testing/stable_sort_by_key_large.cu
@@ -60,11 +60,10 @@ void TestStableSortByKeyWithLargeKeys(void)
{
_TestStableSortByKeyWithLargeKeys<int, 4>();
_TestStableSortByKeyWithLargeKeys<int, 8>();
-// TODO anything larger than 8 gives loop unroll failure warnings during build.
-// _TestStableSortByKeyWithLargeKeys<int, 16>();
+ _TestStableSortByKeyWithLargeKeys<int, 16>();
// TODO XXX these take too long to compile
-// _TestStableSortByKeyWithLargeKeys<int, 32>();
-// _TestStableSortByKeyWithLargeKeys<int, 64>();
+ _TestStableSortByKeyWithLargeKeys<int, 32>();
+ _TestStableSortByKeyWithLargeKeys<int, 64>();
// _TestStableSortByKeyWithLargeKeys<int, 128>();
// _TestStableSortByKeyWithLargeKeys<int, 256>();
// _TestStableSortByKeyWithLargeKeys<int, 512>();
@@ -111,12 +110,10 @@ void TestStableSortByKeyWithLargeValues(void)
{
_TestStableSortByKeyWithLargeValues<int, 4>();
_TestStableSortByKeyWithLargeValues<int, 8>();
-// TODO anything larger than 8 gives loop unroll failure warnings during build.
-// _TestStableSortByKeyWithLargeValues<int, 16>();
-
+ _TestStableSortByKeyWithLargeValues<int, 16>();
// XXX these take too long to compile
-// _TestStableSortByKeyWithLargeValues<int, 32>();
-// _TestStableSortByKeyWithLargeValues<int, 64>();
+ _TestStableSortByKeyWithLargeValues<int, 32>();
+ _TestStableSortByKeyWithLargeValues<int, 64>();
// _TestStableSortByKeyWithLargeValues<int, 128>();
// _TestStableSortByKeyWithLargeValues<int, 256>();
// _TestStableSortByKeyWithLargeValues<int, 512>();
@@ -156,12 +153,11 @@ void TestStableSortByKeyWithLargeKeysAndValues(void)
{
_TestStableSortByKeyWithLargeKeysAndValues<int, 4>();
_TestStableSortByKeyWithLargeKeysAndValues<int, 8>();
-// TODO anything larger than 8 gives loop unroll failure warnings during build.
-// _TestStableSortByKeyWithLargeKeysAndValues<int, 16>();
+ _TestStableSortByKeyWithLargeKeysAndValues<int, 16>();
// XXX these take too long to compile
-// _TestStableSortByKeyWithLargeKeysAndValues<int, 32>();
-// _TestStableSortByKeyWithLargeKeysAndValues<int, 64>();
+ _TestStableSortByKeyWithLargeKeysAndValues<int, 32>();
+ _TestStableSortByKeyWithLargeKeysAndValues<int, 64>();
// _TestStableSortByKeyWithLargeKeysAndValues<int, 128>();
// _TestStableSortByKeyWithLargeKeysAndValues<int, 256>();
// _TestStableSortByKeyWithLargeKeysAndValues<int, 512>();

MODIFY
testing/stable_sort_large.cu
testing/stable_sort_large.cu
@@ -43,14 +43,11 @@ void TestStableSortWithLargeKeys(void)
_TestStableSortWithLargeKeys<int, 2>();
_TestStableSortWithLargeKeys<int, 4>();
_TestStableSortWithLargeKeys<int, 8>();
-// TODO STREAM HPC investigate and fix `error: local memory limit exceeded`
-// (make block size smaller for large keys and values in rocPRIM)
-// anything larger than 8 gives loop unroll failure warnings during build.
+ _TestStableSortWithLargeKeys<int, 16>();
+ _TestStableSortWithLargeKeys<int, 32>();
+ _TestStableSortWithLargeKeys<int, 64>();
+ _TestStableSortWithLargeKeys<int, 128>();
#if THRUST_DEVICE_SYSTEM != THRUST_DEVICE_SYSTEM_HIP
-// _TestStableSortWithLargeKeys<int, 16>();
-// _TestStableSortWithLargeKeys<int, 32>();
-// _TestStableSortWithLargeKeys<int, 64>();
-// _TestStableSortWithLargeKeys<int, 128>();
// _TestStableSortWithLargeKeys<int, 256>();
// _TestStableSortWithLargeKeys<int, 512>();
// _TestStableSortWithLargeKeys<int, 1024>();

Enable sort tests with large types that can be compiled now