NVIDIA / NVIDIA/cccl

Build disabled CUB tests (CDP tests remain)

Open
#881 1 comment 2 reactions 0 assignees View on GitHub
cub
Dominant language
C++
Stars
2.5k
Forks
487
Avg merge
2d 7h
Merged PRs (30d)
296

Description

There are a number of tests that we currently aren't building because they are `ifdef`'d out -- @senior-zero discovered a few uncovered cases in `test_block_scan`, and @canonizer just reported another in `test_device_radix_sort`.

Grepping through, I found the following similar issues listed below. We should get these working.

### Block radix sort appears to be skipping some SortKeys tests::
- [x] test_block_radix_sort.h:#ifdef TEST_KEYS_ONLY

### Block reduce isn't testing anything:
- [x] test_block_reduce.cu:#ifdef TEST_RAKING
- [x] test_block_reduce.cu:#ifdef TEST_WARP_REDUCTIONS

### Block scan isn't testing anything:
- [x] test_block_scan.cu:#ifdef TEST_RAKING
- [x] test_block_scan.cu:#ifdef TEST_RAKING_MEMOIZE
- [x] test_block_scan.cu:#ifdef TEST_WARP_SCANS

### DeviceSegmentedRadixSort is untested:
- [x] test_device_radix_sort.cu:#ifdef SEGMENTED_SORT

### Lots of missing CDP tests:
- [ ] test_device_radix_sort.cu: #ifdef CUB_CDP
- [ ] test_device_reduce.cu:#ifdef CUB_CDP
- [ ] test_device_reduce_by_key.cu:#ifdef CUB_CDP
- [ ] test_device_run_length_encode.cu:#ifdef CUB_CDP
- [ ] test_device_scan.cu:#ifdef CUB_CDP
- [ ] test_device_scan_by_key.cu:#ifdef CUB_CDP
- [ ] test_device_select_if.cu:#ifdef CUB_CDP
- [ ] test_device_select_unique.cu:#ifdef CUB_CDP
- [ ] test_iterator.cu:#if CUB_CDP **Note that this should be ifdef**

Contributor guide

Open the contributing guide

Research direction

Inspect the listed test_block_radix_sort.h, test_block_reduce.cu, test_block_scan.cu, test_device_radix_sort.cu, test_device_reduce.cu, test_device_reduce_by_key.cu, test_device_run_length_encode.cu, test_device_scan.cu, test_device_scan_by_key.cu, test_device_select_if.cu, test_device_select_unique.cu, and test_iterator.cu files. Start by examining each conditional guard and the existing test configuration, then run the relevant CUB tests. Done means the previously disabled test cases build and execute, including the noted CUB_CDP condition change.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
hpc, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.