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

Refactor Thrust placeholder operators #2233

Merged
merged 1 commit into from
Aug 14, 2024

Conversation

bernhardmgruber
Copy link
Contributor

This PR refactors Thrust's placeholder operators to make the implementation (much) shorter and support pr-values as arguments to such placeholder expressions.

@bernhardmgruber bernhardmgruber added the thrust For all items related to Thrust. label Aug 13, 2024
Copy link
Contributor

🟩 CI finished in 5h 21m: Pass: 100%/250 | Total: 6d 04h | Avg: 35m 44s | Max: 1h 11m | Hits: 49%/14811
  • 🟩 cub: Pass: 100%/131 | Total: 3d 21h | Avg: 42m 36s | Max: 1h 11m | Hits: 59%/4254

    🟩 cpu
      🟩 amd64              Pass: 100%/123 | Total:  3d 13h | Avg: 41m 51s | Max:  1h 11m | Hits:  59%/4254  
      🟩 arm64              Pass: 100%/8   | Total:  7h 12m | Avg: 54m 00s | Max: 55m 45s
    🟩 ctk
      🟩 11.1               Pass: 100%/15  | Total: 11h 09m | Avg: 44m 37s | Max: 52m 33s | Hits:  59%/709   
      🟩 11.8               Pass: 100%/3   | Total:  3h 24m | Avg:  1h 08m | Max:  1h 11m
      🟩 12.5               Pass: 100%/113 | Total:  3d 06h | Avg: 41m 39s | Max:  1h 02m | Hits:  59%/3545  
    🟩 cudacxx
      🟩 ClangCUDA17        Pass: 100%/2   | Total: 44m 53s | Avg: 22m 26s | Max: 23m 11s
      🟩 nvcc11.1           Pass: 100%/15  | Total: 11h 09m | Avg: 44m 37s | Max: 52m 33s | Hits:  59%/709   
      🟩 nvcc11.8           Pass: 100%/3   | Total:  3h 24m | Avg:  1h 08m | Max:  1h 11m
      🟩 nvcc12.5           Pass: 100%/111 | Total:  3d 05h | Avg: 42m 00s | Max:  1h 02m | Hits:  59%/3545  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 44m 53s | Avg: 22m 26s | Max: 23m 11s
      🟩 nvcc               Pass: 100%/129 | Total:  3d 20h | Avg: 42m 55s | Max:  1h 11m | Hits:  59%/4254  
    🟩 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  4h 47m | Avg: 47m 59s | Max: 54m 57s
      🟩 Clang10            Pass: 100%/3   | Total:  2h 35m | Avg: 51m 56s | Max: 54m 01s
      🟩 Clang11            Pass: 100%/4   | Total:  3h 32m | Avg: 53m 13s | Max: 56m 12s
      🟩 Clang12            Pass: 100%/4   | Total:  3h 22m | Avg: 50m 31s | Max: 51m 25s
      🟩 Clang13            Pass: 100%/4   | Total:  3h 20m | Avg: 50m 06s | Max: 50m 49s
      🟩 Clang14            Pass: 100%/4   | Total:  3h 21m | Avg: 50m 25s | Max: 53m 53s
      🟩 Clang15            Pass: 100%/4   | Total:  3h 27m | Avg: 51m 59s | Max: 53m 03s
      🟩 Clang16            Pass: 100%/4   | Total:  3h 20m | Avg: 50m 07s | Max: 50m 46s
      🟩 Clang17            Pass: 100%/26  | Total: 12h 58m | Avg: 29m 55s | Max: 55m 45s
      🟩 GCC6               Pass: 100%/2   | Total:  1h 27m | Avg: 43m 59s | Max: 44m 39s
      🟩 GCC7               Pass: 100%/6   | Total:  4h 39m | Avg: 46m 34s | Max: 51m 10s
      🟩 GCC8               Pass: 100%/6   | Total:  4h 50m | Avg: 48m 24s | Max: 55m 30s
      🟩 GCC9               Pass: 100%/6   | Total:  4h 49m | Avg: 48m 12s | Max: 54m 11s
      🟩 GCC10              Pass: 100%/4   | Total:  3h 23m | Avg: 50m 45s | Max: 51m 59s
      🟩 GCC11              Pass: 100%/7   | Total:  6h 48m | Avg: 58m 23s | Max:  1h 11m
      🟩 GCC12              Pass: 100%/4   | Total:  3h 30m | Avg: 52m 38s | Max: 54m 16s
      🟩 GCC13              Pass: 100%/28  | Total: 14h 02m | Avg: 30m 05s | Max: 55m 42s
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  2h 48m | Avg: 56m 10s | Max: 58m 39s
      🟩 MSVC14.16          Pass: 100%/1   | Total: 52m 33s | Avg: 52m 33s | Max: 52m 33s | Hits:  59%/709   
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 56m | Avg: 58m 21s | Max: 58m 41s | Hits:  59%/1418  
      🟩 MSVC14.39          Pass: 100%/3   | Total:  3h 04m | Avg:  1h 01m | Max:  1h 02m | Hits:  59%/2127  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/59  | Total:  1d 16h | Avg: 41m 28s | Max: 56m 12s
      🟩 GCC                Pass: 100%/63  | Total:  1d 19h | Avg: 41m 27s | Max:  1h 11m
      🟩 Intel              Pass: 100%/3   | Total:  2h 48m | Avg: 56m 10s | Max: 58m 39s
      🟩 MSVC               Pass: 100%/6   | Total:  5h 53m | Avg: 58m 54s | Max:  1h 02m | Hits:  59%/4254  
    🟩 gpu
      🟩 v100               Pass: 100%/131 | Total:  3d 21h | Avg: 42m 36s | Max:  1h 11m | Hits:  59%/4254  
    🟩 jobs
      🟩 Build              Pass: 100%/99  | Total:  3d 10h | Avg: 49m 53s | Max:  1h 11m | Hits:  59%/4254  
      🟩 DeviceLaunch       Pass: 100%/8   | Total:  2h 31m | Avg: 18m 57s | Max: 20m 36s
      🟩 GraphCapture       Pass: 100%/8   | Total:  2h 06m | Avg: 15m 51s | Max: 16m 46s
      🟩 HostLaunch         Pass: 100%/8   | Total:  2h 34m | Avg: 19m 15s | Max: 28m 30s
      🟩 TestGPU            Pass: 100%/8   | Total:  3h 28m | Avg: 26m 06s | Max: 30m 27s
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  3h 24m | Avg:  1h 08m | Max:  1h 11m
      🟩 90a                Pass: 100%/4   | Total:  1h 31m | Avg: 22m 57s | Max: 24m 51s
    🟩 std
      🟩 11                 Pass: 100%/34  | Total:  1d 00h | Avg: 42m 24s | Max:  1h 05m
      🟩 14                 Pass: 100%/37  | Total:  1d 03h | Avg: 43m 52s | Max:  1h 11m | Hits:  59%/2127  
      🟩 17                 Pass: 100%/36  | Total:  1d 02h | Avg: 43m 40s | Max:  1h 07m | Hits:  59%/1418  
      🟩 20                 Pass: 100%/24  | Total: 15h 44m | Avg: 39m 20s | Max:  1h 02m | Hits:  59%/709   
    
  • 🟩 thrust: Pass: 100%/118 | Total: 2d 07h | Avg: 28m 19s | Max: 1h 01m | Hits: 44%/10557

    🟩 cpu
      🟩 amd64              Pass: 100%/110 | Total:  2d 03h | Avg: 28m 14s | Max:  1h 01m | Hits:  44%/10557 
      🟩 arm64              Pass: 100%/8   | Total:  3h 55m | Avg: 29m 24s | Max: 32m 26s
    🟩 ctk
      🟩 11.1               Pass: 100%/15  | Total:  7h 06m | Avg: 28m 27s | Max: 58m 31s | Hits:  17%/1173  
      🟩 11.8               Pass: 100%/3   | Total:  1h 56m | Avg: 38m 56s | Max: 44m 36s
      🟩 12.5               Pass: 100%/100 | Total:  1d 22h | Avg: 27m 59s | Max:  1h 01m | Hits:  48%/9384  
    🟩 cudacxx
      🟩 ClangCUDA17        Pass: 100%/2   | Total:  1h 00m | Avg: 30m 20s | Max: 30m 27s
      🟩 nvcc11.1           Pass: 100%/15  | Total:  7h 06m | Avg: 28m 27s | Max: 58m 31s | Hits:  17%/1173  
      🟩 nvcc11.8           Pass: 100%/3   | Total:  1h 56m | Avg: 38m 56s | Max: 44m 36s
      🟩 nvcc12.5           Pass: 100%/98  | Total:  1d 21h | Avg: 27m 56s | Max:  1h 01m | Hits:  48%/9384  
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  1h 00m | Avg: 30m 20s | Max: 30m 27s
      🟩 nvcc               Pass: 100%/116 | Total:  2d 06h | Avg: 28m 17s | Max:  1h 01m | Hits:  44%/10557 
    🟩 cxx
      🟩 Clang9             Pass: 100%/6   | Total:  2h 41m | Avg: 26m 56s | Max: 29m 57s
      🟩 Clang10            Pass: 100%/3   | Total:  1h 34m | Avg: 31m 26s | Max: 34m 47s
      🟩 Clang11            Pass: 100%/4   | Total:  2h 03m | Avg: 30m 57s | Max: 33m 35s
      🟩 Clang12            Pass: 100%/4   | Total:  1h 59m | Avg: 29m 58s | Max: 32m 37s
      🟩 Clang13            Pass: 100%/4   | Total:  2h 02m | Avg: 30m 35s | Max: 33m 00s
      🟩 Clang14            Pass: 100%/4   | Total:  2h 06m | Avg: 31m 33s | Max: 32m 43s
      🟩 Clang15            Pass: 100%/4   | Total:  1h 59m | Avg: 29m 59s | Max: 31m 44s
      🟩 Clang16            Pass: 100%/4   | Total:  2h 02m | Avg: 30m 44s | Max: 33m 14s
      🟩 Clang17            Pass: 100%/18  | Total:  6h 28m | Avg: 21m 33s | Max: 34m 15s
      🟩 GCC6               Pass: 100%/2   | Total: 50m 36s | Avg: 25m 18s | Max: 27m 41s
      🟩 GCC7               Pass: 100%/6   | Total:  2h 44m | Avg: 27m 29s | Max: 31m 18s
      🟩 GCC8               Pass: 100%/6   | Total:  2h 48m | Avg: 28m 08s | Max: 31m 14s
      🟩 GCC9               Pass: 100%/6   | Total:  2h 59m | Avg: 29m 55s | Max: 34m 45s
      🟩 GCC10              Pass: 100%/4   | Total:  2h 03m | Avg: 30m 49s | Max: 33m 53s
      🟩 GCC11              Pass: 100%/7   | Total:  3h 49m | Avg: 32m 50s | Max: 44m 36s
      🟩 GCC12              Pass: 100%/4   | Total:  2h 05m | Avg: 31m 21s | Max: 35m 00s
      🟩 GCC13              Pass: 100%/20  | Total:  6h 30m | Avg: 19m 32s | Max: 32m 26s
      🟩 Intel2023.2.0      Pass: 100%/3   | Total:  1h 59m | Avg: 39m 40s | Max: 42m 50s
      🟩 MSVC14.16          Pass: 100%/1   | Total: 58m 31s | Avg: 58m 31s | Max: 58m 31s | Hits:  17%/1173  
      🟩 MSVC14.29          Pass: 100%/2   | Total:  1h 57m | Avg: 58m 46s | Max: 59m 24s | Hits:  17%/2346  
      🟩 MSVC14.39          Pass: 100%/6   | Total:  3h 54m | Avg: 39m 07s | Max:  1h 01m | Hits:  58%/7038  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/51  | Total: 22h 59m | Avg: 27m 02s | Max: 34m 47s
      🟩 GCC                Pass: 100%/55  | Total: 23h 53m | Avg: 26m 03s | Max: 44m 36s
      🟩 Intel              Pass: 100%/3   | Total:  1h 59m | Avg: 39m 40s | Max: 42m 50s
      🟩 MSVC               Pass: 100%/9   | Total:  6h 50m | Avg: 45m 38s | Max:  1h 01m | Hits:  44%/10557 
    🟩 gpu
      🟩 v100               Pass: 100%/118 | Total:  2d 07h | Avg: 28m 19s | Max:  1h 01m | Hits:  44%/10557 
    🟩 jobs
      🟩 Build              Pass: 100%/99  | Total:  2d 04h | Avg: 31m 32s | Max:  1h 01m | Hits:  17%/7038  
      🟩 TestCPU            Pass: 100%/11  | Total:  1h 40m | Avg:  9m 10s | Max: 18m 09s | Hits:  98%/3519  
      🟩 TestGPU            Pass: 100%/8   | Total:  1h 59m | Avg: 14m 55s | Max: 17m 59s
    🟩 sm
      🟩 60;70;80;90        Pass: 100%/3   | Total:  1h 56m | Avg: 38m 56s | Max: 44m 36s
      🟩 90a                Pass: 100%/4   | Total:  1h 19m | Avg: 19m 52s | Max: 22m 20s
    🟩 std
      🟩 11                 Pass: 100%/30  | Total: 11h 52m | Avg: 23m 44s | Max: 33m 44s
      🟩 14                 Pass: 100%/34  | Total: 17h 15m | Avg: 30m 26s | Max: 59m 47s | Hits:  38%/4692  
      🟩 17                 Pass: 100%/33  | Total: 16h 44m | Avg: 30m 25s | Max:  1h 01m | Hits:  44%/3519  
      🟩 20                 Pass: 100%/21  | Total:  9h 50m | Avg: 28m 08s | Max:  1h 01m | Hits:  58%/2346  
    
  • 🟩 pycuda: Pass: 100%/1 | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s

    🟩 cpu
      🟩 amd64              Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    🟩 ctk
      🟩 12.5               Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    🟩 cudacxx
      🟩 nvcc12.5           Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    🟩 cxx
      🟩 GCC13              Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    🟩 cxx_family
      🟩 GCC                Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    🟩 gpu
      🟩 v100               Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    🟩 jobs
      🟩 Test               Pass: 100%/1   | Total: 12m 28s | Avg: 12m 28s | Max: 12m 28s
    

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 250)

# Runner
178 linux-amd64-cpu16
41 linux-amd64-gpu-v100-latest-1
16 linux-arm64-cpu16
15 windows-amd64-cpu16

Copy link
Collaborator

@miscco miscco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is indeed much cleaner

@bernhardmgruber bernhardmgruber marked this pull request as ready for review August 14, 2024 08:25
@bernhardmgruber bernhardmgruber requested review from a team as code owners August 14, 2024 08:25
@bernhardmgruber bernhardmgruber merged commit 2e44b2c into NVIDIA:main Aug 14, 2024
266 checks passed
@bernhardmgruber bernhardmgruber deleted the actor branch August 14, 2024 08:26
pciolkosz pushed a commit to pciolkosz/cccl that referenced this pull request Aug 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
thrust For all items related to Thrust.
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

2 participants