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

Add assert implementation for device side testing #1918

Merged
merged 2 commits into from
Jun 26, 2024

Conversation

pciolkosz
Copy link
Contributor

CCCL is tested in release build and by default assert is compiled out. In CUDAX hierarchy testing device side uses assert for convenient printing and termination, we do #indef NDEBUG to make the asserts stay.
Recently I wanted to remove on extremely long running test from debug builds, but because of the #undef NDEBUG it was difficult to detect a debug build.

I decided to just switch to a custom assert implementation and remove the #undef. This has another benefit that we could do warp aggregate error printing for easier readible logs etc in the future.
This change also renames HOST_DEV_REQUIRE to CUDAX_REQUIRE.

CCCL is tested in release build and by default assert is compiled out
In hierarchy testing device side uses assert for convinient printing and termination,
we do #indef NDEBUG to make the asserts stay.
Recently I wanted to remove on extremally long running test from debug builds,
but because of the #undef NDEBUG it was difficult to detect a debug build.
I decided to just switch to a custom assert implementation and remove the #undef.
This has another benefit that we could do warp aggregate error printing for easier
readible logs etc in the future.
@pciolkosz pciolkosz requested a review from a team as a code owner June 25, 2024 22:02
Copy link
Contributor

🟩 CI finished in 1h 45m: Pass: 100%/55 | Total: 2h 42m | Avg: 2m 57s | Max: 9m 52s | Hits: 88%/1308
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 42m | Avg: 2m 57s | Max: 9m 52s | Hits: 88%/1308

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 33m | Avg:  3m 00s | Max:  9m 52s | Hits:  88%/1212  
      🟩 arm64              Pass: 100%/4   | Total:  9m 22s | Avg:  2m 20s | Max:  2m 34s | Hits:  87%/96    
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 08m | Avg:  2m 59s | Max:  9m 47s | Hits:  87%/546   
      🟩 12.4               Pass: 100%/32  | Total:  1h 34m | Avg:  2m 56s | Max:  9m 52s | Hits:  88%/762   
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 08m | Avg:  2m 59s | Max:  9m 47s | Hits:  87%/546   
      🟩 nvcc12.4           Pass: 100%/32  | Total:  1h 34m | Avg:  2m 56s | Max:  9m 52s | Hits:  88%/762   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 42m | Avg:  2m 57s | Max:  9m 52s | Hits:  88%/1308  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 56s | Avg:  2m 28s | Max:  2m 29s | Hits:  91%/48    
      🟩 Clang10            Pass: 100%/2   | Total:  5m 08s | Avg:  2m 34s | Max:  2m 34s | Hits:  91%/48    
      🟩 Clang11            Pass: 100%/4   | Total:  9m 40s | Avg:  2m 25s | Max:  2m 30s | Hits:  91%/96    
      🟩 Clang12            Pass: 100%/4   | Total: 10m 21s | Avg:  2m 35s | Max:  2m 56s | Hits:  91%/96    
      🟩 Clang13            Pass: 100%/4   | Total:  9m 49s | Avg:  2m 27s | Max:  2m 33s | Hits:  91%/96    
      🟩 Clang14            Pass: 100%/6   | Total: 17m 46s | Avg:  2m 57s | Max:  4m 23s | Hits:  94%/144   
      🟩 Clang15            Pass: 100%/2   | Total:  5m 06s | Avg:  2m 33s | Max:  2m 36s | Hits:  91%/48    
      🟩 Clang16            Pass: 100%/6   | Total: 18m 08s | Avg:  3m 01s | Max:  4m 30s | Hits:  94%/144   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 53s | Avg:  2m 26s | Max:  2m 29s | Hits:  83%/48    
      🟩 GCC10              Pass: 100%/4   | Total:  9m 26s | Avg:  2m 21s | Max:  2m 32s | Hits:  83%/96    
      🟩 GCC11              Pass: 100%/4   | Total:  9m 13s | Avg:  2m 18s | Max:  2m 22s | Hits:  83%/96    
      🟩 GCC12              Pass: 100%/12  | Total: 35m 49s | Avg:  2m 59s | Max:  6m 02s | Hits:  86%/288   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  3m 00s | Avg:  3m 00s | Max:  3m 00s | Hits:  91%/24    
      🟩 MSVC14.36          Pass: 100%/1   | Total:  9m 47s | Avg:  9m 47s | Max:  9m 47s | Hits:  44%/18    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  9m 52s | Avg:  9m 52s | Max:  9m 52s | Hits:  44%/18    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 20m | Avg:  2m 41s | Max:  4m 30s | Hits:  92%/720   
      🟩 GCC                Pass: 100%/22  | Total: 59m 21s | Avg:  2m 41s | Max:  6m 02s | Hits:  84%/528   
      🟩 Intel              Pass: 100%/1   | Total:  3m 00s | Avg:  3m 00s | Max:  3m 00s | Hits:  91%/24    
      🟩 MSVC               Pass: 100%/2   | Total: 19m 39s | Avg:  9m 49s | Max:  9m 52s | Hits:  44%/36    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 42m | Avg:  2m 57s | Max:  9m 52s | Hits:  88%/1308  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  2h 10m | Avg:  2m 46s | Max:  9m 52s | Hits:  86%/1116  
      🟩 Test               Pass: 100%/8   | Total: 32m 25s | Avg:  4m 03s | Max:  6m 02s | Hits:  95%/192   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 18s | Avg:  2m 18s | Max:  2m 18s | Hits:  83%/24    
      🟩 90a                Pass: 100%/1   | Total:  2m 24s | Avg:  2m 24s | Max:  2m 24s | Hits:  83%/24    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 22m | Avg:  2m 39s | Max:  4m 30s | Hits:  89%/744   
      🟩 20                 Pass: 100%/24  | Total:  1h 20m | Avg:  3m 20s | Max:  9m 52s | Hits:  86%/564   
    

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental

🏃‍ Runner counts (total jobs: 55)

# Runner
41 linux-amd64-cpu16
8 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

cudax/test/hierarchy/testing_common.cuh Outdated Show resolved Hide resolved
Copy link
Contributor

🟩 CI finished in 36m 09s: Pass: 100%/55 | Total: 2h 41m | Avg: 2m 56s | Max: 10m 13s | Hits: 88%/1308
  • 🟩 cudax: Pass: 100%/55 | Total: 2h 41m | Avg: 2m 56s | Max: 10m 13s | Hits: 88%/1308

    🟩 cpu
      🟩 amd64              Pass: 100%/51  | Total:  2h 32m | Avg:  2m 59s | Max: 10m 13s | Hits:  88%/1212  
      🟩 arm64              Pass: 100%/4   | Total:  9m 14s | Avg:  2m 18s | Max:  2m 33s | Hits:  87%/96    
    🟩 ctk
      🟩 12.0               Pass: 100%/23  | Total:  1h 08m | Avg:  2m 59s | Max: 10m 13s | Hits:  87%/546   
      🟩 12.4               Pass: 100%/32  | Total:  1h 32m | Avg:  2m 53s | Max:  9m 47s | Hits:  88%/762   
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/23  | Total:  1h 08m | Avg:  2m 59s | Max: 10m 13s | Hits:  87%/546   
      🟩 nvcc12.4           Pass: 100%/32  | Total:  1h 32m | Avg:  2m 53s | Max:  9m 47s | Hits:  88%/762   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/55  | Total:  2h 41m | Avg:  2m 56s | Max: 10m 13s | Hits:  88%/1308  
    🟩 cxx
      🟩 Clang9             Pass: 100%/2   | Total:  4m 52s | Avg:  2m 26s | Max:  2m 28s | Hits:  91%/48    
      🟩 Clang10            Pass: 100%/2   | Total:  4m 54s | Avg:  2m 27s | Max:  2m 28s | Hits:  91%/48    
      🟩 Clang11            Pass: 100%/4   | Total:  9m 50s | Avg:  2m 27s | Max:  2m 39s | Hits:  91%/96    
      🟩 Clang12            Pass: 100%/4   | Total: 10m 24s | Avg:  2m 36s | Max:  2m 45s | Hits:  91%/96    
      🟩 Clang13            Pass: 100%/4   | Total:  9m 57s | Avg:  2m 29s | Max:  2m 35s | Hits:  91%/96    
      🟩 Clang14            Pass: 100%/6   | Total: 17m 52s | Avg:  2m 58s | Max:  4m 08s | Hits:  94%/144   
      🟩 Clang15            Pass: 100%/2   | Total:  4m 49s | Avg:  2m 24s | Max:  2m 25s | Hits:  91%/48    
      🟩 Clang16            Pass: 100%/6   | Total: 18m 51s | Avg:  3m 08s | Max:  4m 19s | Hits:  94%/144   
      🟩 GCC9               Pass: 100%/2   | Total:  4m 43s | Avg:  2m 21s | Max:  2m 24s | Hits:  83%/48    
      🟩 GCC10              Pass: 100%/4   | Total:  9m 31s | Avg:  2m 22s | Max:  2m 30s | Hits:  83%/96    
      🟩 GCC11              Pass: 100%/4   | Total:  9m 33s | Avg:  2m 23s | Max:  2m 34s | Hits:  83%/96    
      🟩 GCC12              Pass: 100%/12  | Total: 33m 11s | Avg:  2m 45s | Max:  3m 43s | Hits:  86%/288   
      🟩 Intel2023.2.0      Pass: 100%/1   | Total:  2m 58s | Avg:  2m 58s | Max:  2m 58s | Hits:  91%/24    
      🟩 MSVC14.36          Pass: 100%/1   | Total: 10m 13s | Avg: 10m 13s | Max: 10m 13s | Hits:  44%/18    
      🟩 MSVC14.39          Pass: 100%/1   | Total:  9m 47s | Avg:  9m 47s | Max:  9m 47s | Hits:  44%/18    
    🟩 cxx_family
      🟩 Clang              Pass: 100%/30  | Total:  1h 21m | Avg:  2m 42s | Max:  4m 19s | Hits:  92%/720   
      🟩 GCC                Pass: 100%/22  | Total: 56m 58s | Avg:  2m 35s | Max:  3m 43s | Hits:  84%/528   
      🟩 Intel              Pass: 100%/1   | Total:  2m 58s | Avg:  2m 58s | Max:  2m 58s | Hits:  91%/24    
      🟩 MSVC               Pass: 100%/2   | Total: 20m 00s | Avg: 10m 00s | Max: 10m 13s | Hits:  44%/36    
    🟩 gpu
      🟩 v100               Pass: 100%/55  | Total:  2h 41m | Avg:  2m 56s | Max: 10m 13s | Hits:  88%/1308  
    🟩 jobs
      🟩 Build              Pass: 100%/47  | Total:  2h 10m | Avg:  2m 46s | Max: 10m 13s | Hits:  86%/1116  
      🟩 Test               Pass: 100%/8   | Total: 30m 44s | Avg:  3m 50s | Max:  4m 19s | Hits:  95%/192   
    🟩 sm
      🟩 90                 Pass: 100%/1   | Total:  2m 14s | Avg:  2m 14s | Max:  2m 14s | Hits:  83%/24    
      🟩 90a                Pass: 100%/1   | Total:  2m 10s | Avg:  2m 10s | Max:  2m 10s | Hits:  83%/24    
    🟩 std
      🟩 17                 Pass: 100%/31  | Total:  1h 20m | Avg:  2m 36s | Max:  3m 59s | Hits:  89%/744   
      🟩 20                 Pass: 100%/24  | Total:  1h 20m | Avg:  3m 21s | Max: 10m 13s | Hits:  86%/564   
    

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental

Modifications in project or dependencies?

Project
CCCL Infrastructure
libcu++
CUB
Thrust
+/- CUDA Experimental

🏃‍ Runner counts (total jobs: 55)

# Runner
41 linux-amd64-cpu16
8 linux-amd64-gpu-v100-latest-1
4 linux-arm64-cpu16
2 windows-amd64-cpu16

@pciolkosz pciolkosz merged commit 0f7cf5f into NVIDIA:main Jun 26, 2024
68 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants