Skip to content

Cudeviceptr conversion #4897

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

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Conversation

julcst
Copy link

@julcst julcst commented Jun 4, 2025

Description

closes #4896

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

@julcst julcst requested a review from a team as a code owner June 4, 2025 15:02
@julcst julcst requested a review from elstehle June 4, 2025 15:02
@github-project-automation github-project-automation bot moved this to Todo in CCCL Jun 4, 2025
Copy link

copy-pr-bot bot commented Jun 4, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@cccl-authenticator-app cccl-authenticator-app bot moved this from Todo to In Review in CCCL Jun 4, 2025
@julcst julcst marked this pull request as draft June 4, 2025 20:35
@cccl-authenticator-app cccl-authenticator-app bot moved this from In Review to In Progress in CCCL Jun 4, 2025
julcst and others added 4 commits June 4, 2025 22:39
@julcst julcst marked this pull request as ready for review June 4, 2025 20:59
@cccl-authenticator-app cccl-authenticator-app bot moved this from In Progress to In Review in CCCL Jun 4, 2025
Comment on lines 162 to 163
//! \brief Converts this \c device_ptr to a raw \c CUdeviceptr.
_CCCL_HOST_DEVICE operator CUdeviceptr() const noexcept
Copy link
Contributor

Choose a reason for hiding this comment

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

Critical: Unfortunately, this breaks a lot of tests with gcc, because now device_ptr + offset is ambigious, for example:

/home/bgruber/dev/cccl/thrust/testing/cuda/device_ptr.cu:8:60:   required from here
    8 |   thrust::device_vector<int> vec(3);
      |                                                            ^
/home/bgruber/dev/cccl/lib/cmake/thrust/../../../thrust/thrust/system/cuda/detail/uninitialized_fill.h:79:14: error: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: [-Werror]
   79 |   return first + count;
      |        ~~~~~~^~~~~~~

The operator needs to be explicit.

@bernhardmgruber
Copy link
Contributor

bernhardmgruber commented Jun 5, 2025

I pushed a unit test and made the conversion explicit. The question is whether this now still fulfills your initial goal, because now you still require a static_cast to convert to a Cudeviceptr.

@bernhardmgruber
Copy link
Contributor

/ok to test 037b904

Copy link
Contributor

github-actions bot commented Jun 5, 2025

🟩 CI finished in 1h 56m: Pass: 100%/130 | Total: 3d 02h | Avg: 34m 31s | Max: 1h 31m | Hits: 80%/163253
  • 🟩 cub: Pass: 100%/47 | Total: 1d 18h | Avg: 54m 12s | Max: 1h 16m | Hits: 75%/57878

    🟩 cpu
      🟩 amd64              Pass: 100%/45  | Total:  1d 16h | Avg: 54m 15s | Max:  1h 16m | Hits:  75%/55360 
      🟩 arm64              Pass: 100%/2   | Total:  1h 46m | Avg: 53m 00s | Max: 55m 53s | Hits:  69%/2518  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  4h 54m | Avg: 58m 51s | Max:  1h 09m | Hits:  70%/6112  
      🟩 12.9               Pass: 100%/42  | Total:  1d 13h | Avg: 53m 39s | Max:  1h 16m | Hits:  75%/51766 
    🟩 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total:  1h 02m | Avg: 31m 24s | Max: 33m 59s | Hits:  75%/2171  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  4h 54m | Avg: 58m 51s | Max:  1h 09m | Hits:  70%/6112  
      🟩 nvcc12.9           Pass: 100%/40  | Total:  1d 12h | Avg: 54m 45s | Max:  1h 16m | Hits:  75%/49595 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total:  1h 02m | Avg: 31m 24s | Max: 33m 59s | Hits:  75%/2171  
      🟩 nvcc               Pass: 100%/45  | Total:  1d 17h | Avg: 55m 13s | Max:  1h 16m | Hits:  75%/55707 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  3h 37m | Avg: 54m 15s | Max: 55m 57s | Hits:  69%/5038  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 56m | Avg: 58m 06s | Max: 58m 15s | Hits:  69%/2515  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 47m | Avg: 53m 39s | Max: 54m 04s | Hits:  69%/2515  
      🟩 Clang17            Pass: 100%/2   | Total:  2h 00m | Avg:  1h 00m | Max:  1h 02m | Hits:  69%/2515  
      🟩 Clang18            Pass: 100%/2   | Total:  1h 53m | Avg: 56m 38s | Max: 57m 47s | Hits:  69%/2515  
      🟩 Clang19            Pass: 100%/7   | Total:  4h 58m | Avg: 42m 37s | Max: 59m 13s | Hits:  80%/8460  
      🟩 GCC7               Pass: 100%/2   | Total:  1h 58m | Avg: 59m 22s | Max: 59m 45s | Hits:  69%/2518  
      🟩 GCC8               Pass: 100%/1   | Total: 59m 54s | Avg: 59m 54s | Max: 59m 54s | Hits:  69%/1259  
      🟩 GCC9               Pass: 100%/2   | Total:  2h 04m | Avg:  1h 02m | Max:  1h 07m | Hits:  69%/2518  
      🟩 GCC10              Pass: 100%/2   | Total:  2h 06m | Avg:  1h 03m | Max:  1h 06m | Hits:  69%/2519  
      🟩 GCC11              Pass: 100%/2   | Total:  2h 09m | Avg:  1h 04m | Max:  1h 07m | Hits:  69%/2515  
      🟩 GCC12              Pass: 100%/2   | Total:  2h 01m | Avg:  1h 00m | Max:  1h 03m | Hits:  69%/2515  
      🟩 GCC13              Pass: 100%/11  | Total:  7h 44m | Avg: 42m 14s | Max:  1h 01m | Hits:  85%/13857 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 22m | Avg:  1h 11m | Max:  1h 12m | Hits:  75%/2150  
      🟩 MSVC14.43          Pass: 100%/2   | Total:  2h 29m | Avg:  1h 14m | Max:  1h 16m | Hits:  75%/2150  
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 09m | Hits:  69%/2319  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/19  | Total: 16h 12m | Avg: 51m 11s | Max:  1h 02m | Hits:  73%/23558 
      🟩 GCC                Pass: 100%/22  | Total: 19h 04m | Avg: 52m 00s | Max:  1h 07m | Hits:  77%/27701 
      🟩 MSVC               Pass: 100%/4   | Total:  4h 52m | Avg:  1h 13m | Max:  1h 16m | Hits:  75%/4300  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 18m | Avg:  1h 09m | Max:  1h 09m | Hits:  69%/2319  
    🟩 gpu
      🟩 h100               Pass: 100%/3   | Total:  1h 23m | Avg: 27m 55s | Max: 29m 28s | Hits:  89%/3780  
      🟩 rtx2080            Pass: 100%/36  | Total:  1d 11h | Avg: 59m 18s | Max:  1h 16m | Hits:  70%/44024 
      🟩 rtxa6000           Pass: 100%/8   | Total:  5h 28m | Avg: 41m 06s | Max: 59m 13s | Hits:  92%/10074 
    🟩 jobs
      🟩 Build              Pass: 100%/39  | Total:  1d 14h | Avg: 58m 29s | Max:  1h 16m | Hits:  70%/47802 
      🟩 DeviceLaunch       Pass: 100%/1   | Total: 35m 23s | Avg: 35m 23s | Max: 35m 23s | Hits:  99%/1260  
      🟩 GraphCapture       Pass: 100%/1   | Total: 32m 32s | Avg: 32m 32s | Max: 32m 32s | Hits:  99%/1260  
      🟩 HostLaunch         Pass: 100%/3   | Total:  1h 41m | Avg: 33m 43s | Max: 36m 48s | Hits:  99%/3778  
      🟩 TestGPU            Pass: 100%/3   | Total:  1h 37m | Avg: 32m 24s | Max: 40m 05s | Hits:  99%/3778  
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total:  1h 23m | Avg: 27m 55s | Max: 29m 28s | Hits:  89%/3780  
      🟩 90;90a;100         Pass: 100%/1   | Total:  1h 01m | Avg:  1h 01m | Max:  1h 01m | Hits:  68%/1260  
    🟩 std
      🟩 17                 Pass: 100%/21  | Total: 21h 07m | Avg:  1h 00m | Max:  1h 13m | Hits:  70%/25597 
      🟩 20                 Pass: 100%/26  | Total: 21h 20m | Avg: 49m 15s | Max:  1h 16m | Hits:  79%/32281 
    
  • 🟩 thrust: Pass: 100%/47 | Total: 1d 04h | Avg: 36m 38s | Max: 1h 31m | Hits: 81%/89989

    🟩 cmake_options
      🟩 -DTHRUST_DISPATCH_TYPE=Force32bit Pass: 100%/2   | Total: 44m 17s | Avg: 22m 08s | Max: 31m 02s | Hits:  90%/3832  
    🟩 cpu
      🟩 amd64              Pass: 100%/45  | Total:  1d 03h | Avg: 36m 49s | Max:  1h 31m | Hits:  81%/86158 
      🟩 arm64              Pass: 100%/2   | Total:  1h 05m | Avg: 32m 43s | Max: 35m 47s | Hits:  81%/3831  
    🟩 ctk
      🟩 12.0               Pass: 100%/5   | Total:  3h 23m | Avg: 40m 46s | Max:  1h 08m | Hits:  76%/9570  
      🟩 12.9               Pass: 100%/42  | Total:  1d 01h | Avg: 36m 09s | Max:  1h 31m | Hits:  81%/80419 
    🟩 cudacxx
      🟩 ClangCUDA19        Pass: 100%/2   | Total: 51m 24s | Avg: 25m 42s | Max: 25m 48s | Hits:  81%/3830  
      🟩 nvcc12.0           Pass: 100%/5   | Total:  3h 23m | Avg: 40m 46s | Max:  1h 08m | Hits:  76%/9570  
      🟩 nvcc12.9           Pass: 100%/40  | Total:  1d 00h | Avg: 36m 40s | Max:  1h 31m | Hits:  81%/76589 
    🟩 cudacxx_family
      🟩 ClangCUDA          Pass: 100%/2   | Total: 51m 24s | Avg: 25m 42s | Max: 25m 48s | Hits:  81%/3830  
      🟩 nvcc               Pass: 100%/45  | Total:  1d 03h | Avg: 37m 07s | Max:  1h 31m | Hits:  81%/86159 
    🟩 cxx
      🟩 Clang14            Pass: 100%/4   | Total:  2h 07m | Avg: 31m 53s | Max: 33m 20s | Hits:  81%/7660  
      🟩 Clang15            Pass: 100%/2   | Total:  1h 06m | Avg: 33m 10s | Max: 34m 28s | Hits:  81%/3830  
      🟩 Clang16            Pass: 100%/2   | Total:  1h 05m | Avg: 32m 35s | Max: 33m 07s | Hits:  81%/3830  
      🟩 Clang17            Pass: 100%/2   | Total:  1h 10m | Avg: 35m 17s | Max: 35m 58s | Hits:  81%/3830  
      🟩 Clang18            Pass: 100%/2   | Total:  1h 05m | Avg: 32m 47s | Max: 33m 15s | Hits:  81%/3830  
      🟩 Clang19            Pass: 100%/7   | Total:  2h 46m | Avg: 23m 42s | Max: 34m 32s | Hits:  86%/13405 
      🟩 GCC7               Pass: 100%/2   | Total:  1h 11m | Avg: 35m 31s | Max: 35m 58s | Hits:  81%/3832  
      🟩 GCC8               Pass: 100%/1   | Total: 34m 20s | Avg: 34m 20s | Max: 34m 20s | Hits:  81%/1916  
      🟩 GCC9               Pass: 100%/2   | Total:  1h 14m | Avg: 37m 20s | Max: 38m 04s | Hits:  81%/3832  
      🟩 GCC10              Pass: 100%/2   | Total:  1h 15m | Avg: 37m 49s | Max: 38m 04s | Hits:  81%/3832  
      🟩 GCC11              Pass: 100%/2   | Total:  1h 15m | Avg: 37m 43s | Max: 38m 31s | Hits:  81%/3832  
      🟩 GCC12              Pass: 100%/2   | Total:  1h 16m | Avg: 38m 05s | Max: 39m 17s | Hits:  81%/3832  
      🟩 GCC13              Pass: 100%/10  | Total:  4h 14m | Avg: 25m 26s | Max: 41m 09s | Hits:  88%/19160 
      🟩 MSVC14.29          Pass: 100%/2   | Total:  2h 17m | Avg:  1h 08m | Max:  1h 08m | Hits:  62%/3816  
      🟩 MSVC14.43          Pass: 100%/3   | Total:  3h 06m | Avg:  1h 02m | Max:  1h 21m | Hits:  70%/5724  
      🟩 NVHPC25.5          Pass: 100%/2   | Total:  2h 55m | Avg:  1h 27m | Max:  1h 31m | Hits:  55%/3828  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/19  | Total:  9h 21m | Avg: 29m 32s | Max: 35m 58s | Hits:  83%/36385 
      🟩 GCC                Pass: 100%/21  | Total: 11h 01m | Avg: 31m 30s | Max: 41m 09s | Hits:  84%/40236 
      🟩 MSVC               Pass: 100%/5   | Total:  5h 24m | Avg:  1h 04m | Max:  1h 21m | Hits:  67%/9540  
      🟩 NVHPC              Pass: 100%/2   | Total:  2h 55m | Avg:  1h 27m | Max:  1h 31m | Hits:  55%/3828  
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 36m 56s | Avg: 18m 28s | Max: 20m 38s | Hits:  89%/3832  
      🟩 rtx2080            Pass: 100%/35  | Total: 23h 30m | Avg: 40m 18s | Max:  1h 31m | Hits:  78%/67016 
      🟩 rtx4090            Pass: 100%/10  | Total:  4h 34m | Avg: 27m 26s | Max:  1h 21m | Hits:  89%/19141 
    🟩 jobs
      🟩 Build              Pass: 100%/40  | Total:  1d 02h | Avg: 40m 29s | Max:  1h 31m | Hits:  77%/76587 
      🟩 TestCPU            Pass: 100%/3   | Total: 49m 15s | Avg: 16m 25s | Max: 31m 57s | Hits:  99%/5739  
      🟩 TestGPU            Pass: 100%/4   | Total: 53m 32s | Avg: 13m 23s | Max: 16m 18s | Hits:  99%/7663  
    🟩 sm
      🟩 90                 Pass: 100%/2   | Total: 36m 56s | Avg: 18m 28s | Max: 20m 38s | Hits:  89%/3832  
      🟩 90;90a;100         Pass: 100%/1   | Total: 37m 57s | Avg: 37m 57s | Max: 37m 57s | Hits:  80%/1916  
    🟩 std
      🟩 17                 Pass: 100%/21  | Total: 14h 52m | Avg: 42m 30s | Max:  1h 31m | Hits:  77%/40202 
      🟩 20                 Pass: 100%/24  | Total: 13h 05m | Avg: 32m 43s | Max:  1h 24m | Hits:  83%/45955 
    
  • 🟩 cudax: Pass: 100%/26 | Total: 2h 52m | Avg: 6m 39s | Max: 13m 37s | Hits: 92%/15058

    🟩 cpu
      🟩 amd64              Pass: 100%/22  | Total:  2h 32m | Avg:  6m 56s | Max: 13m 37s | Hits:  92%/12650 
      🟩 arm64              Pass: 100%/4   | Total: 20m 18s | Avg:  5m 04s | Max:  5m 33s | Hits:  91%/2408  
    🟩 ctk
      🟩 12.0               Pass: 100%/3   | Total: 23m 41s | Avg:  7m 53s | Max: 13m 37s | Hits:  89%/1511  
      🟩 12.9               Pass: 100%/23  | Total:  2h 29m | Avg:  6m 29s | Max: 13m 06s | Hits:  92%/13547 
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/3   | Total: 23m 41s | Avg:  7m 53s | Max: 13m 37s | Hits:  89%/1511  
      🟩 nvcc12.9           Pass: 100%/23  | Total:  2h 29m | Avg:  6m 29s | Max: 13m 06s | Hits:  92%/13547 
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/26  | Total:  2h 52m | Avg:  6m 39s | Max: 13m 37s | Hits:  92%/15058 
    🟩 cxx
      🟩 Clang14            Pass: 100%/2   | Total:  9m 51s | Avg:  4m 55s | Max:  5m 06s | Hits:  91%/1208  
      🟩 Clang15            Pass: 100%/1   | Total:  5m 13s | Avg:  5m 13s | Max:  5m 13s | Hits:  91%/602   
      🟩 Clang16            Pass: 100%/1   | Total:  5m 18s | Avg:  5m 18s | Max:  5m 18s | Hits:  91%/602   
      🟩 Clang17            Pass: 100%/1   | Total:  5m 36s | Avg:  5m 36s | Max:  5m 36s | Hits:  91%/602   
      🟩 Clang18            Pass: 100%/1   | Total:  5m 31s | Avg:  5m 31s | Max:  5m 31s | Hits:  91%/602   
      🟩 Clang19            Pass: 100%/4   | Total: 23m 14s | Avg:  5m 48s | Max:  8m 05s | Hits:  93%/2408  
      🟩 GCC10              Pass: 100%/2   | Total: 10m 50s | Avg:  5m 25s | Max:  5m 31s | Hits:  91%/1208  
      🟩 GCC11              Pass: 100%/1   | Total:  5m 55s | Avg:  5m 55s | Max:  5m 55s | Hits:  91%/602   
      🟩 GCC12              Pass: 100%/1   | Total:  5m 48s | Avg:  5m 48s | Max:  5m 48s | Hits:  91%/602   
      🟩 GCC13              Pass: 100%/8   | Total: 48m 37s | Avg:  6m 04s | Max: 10m 25s | Hits:  93%/4816  
      🟩 MSVC14.39          Pass: 100%/1   | Total: 13m 37s | Avg: 13m 37s | Max: 13m 37s | Hits:  80%/303   
      🟩 MSVC14.43          Pass: 100%/1   | Total: 13m 06s | Avg: 13m 06s | Max: 13m 06s | Hits:  80%/303   
      🟩 NVHPC25.5          Pass: 100%/2   | Total: 20m 18s | Avg: 10m 09s | Max: 10m 10s | Hits:  89%/1200  
    🟩 cxx_family
      🟩 Clang              Pass: 100%/10  | Total: 54m 43s | Avg:  5m 28s | Max:  8m 05s | Hits:  92%/6024  
      🟩 GCC                Pass: 100%/12  | Total:  1h 11m | Avg:  5m 55s | Max: 10m 25s | Hits:  92%/7228  
      🟩 MSVC               Pass: 100%/2   | Total: 26m 43s | Avg: 13m 21s | Max: 13m 37s | Hits:  80%/606   
      🟩 NVHPC              Pass: 100%/2   | Total: 20m 18s | Avg: 10m 09s | Max: 10m 10s | Hits:  89%/1200  
    🟩 gpu
      🟩 h100               Pass: 100%/2   | Total: 12m 19s | Avg:  6m 09s | Max:  7m 53s | Hits:  95%/1204  
      🟩 rtx2080            Pass: 100%/24  | Total:  2h 40m | Avg:  6m 41s | Max: 13m 37s | Hits:  91%/13854 
    🟩 jobs
      🟩 Build              Pass: 100%/23  | Total:  2h 26m | Avg:  6m 22s | Max: 13m 37s | Hits:  90%/13252 
      🟩 Test               Pass: 100%/3   | Total: 26m 23s | Avg:  8m 47s | Max: 10m 25s | Hits:  99%/1806  
    🟩 sm
      🟩 90                 Pass: 100%/3   | Total: 16m 40s | Avg:  5m 33s | Max:  7m 53s | Hits:  94%/1806  
      🟩 90a                Pass: 100%/1   | Total:  4m 31s | Avg:  4m 31s | Max:  4m 31s | Hits:  91%/602   
    🟩 std
      🟩 17                 Pass: 100%/4   | Total: 24m 23s | Avg:  6m 05s | Max: 10m 10s | Hits:  91%/2406  
      🟩 20                 Pass: 100%/22  | Total:  2h 28m | Avg:  6m 45s | Max: 13m 37s | Hits:  92%/12652 
    
  • 🟩 packaging: Pass: 100%/4 | Total: 16m 37s | Avg: 4m 09s | Max: 4m 52s

    🟩 cpu
      🟩 amd64              Pass: 100%/4   | Total: 16m 37s | Avg:  4m 09s | Max:  4m 52s
    🟩 ctk
      🟩 12.0               Pass: 100%/2   | Total:  8m 01s | Avg:  4m 00s | Max:  4m 01s
      🟩 12.9               Pass: 100%/2   | Total:  8m 36s | Avg:  4m 18s | Max:  4m 52s
    🟩 cudacxx
      🟩 nvcc12.0           Pass: 100%/2   | Total:  8m 01s | Avg:  4m 00s | Max:  4m 01s
      🟩 nvcc12.9           Pass: 100%/2   | Total:  8m 36s | Avg:  4m 18s | Max:  4m 52s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 16m 37s | Avg:  4m 09s | Max:  4m 52s
    🟩 cxx
      🟩 Clang14            Pass: 100%/1   | Total:  4m 00s | Avg:  4m 00s | Max:  4m 00s
      🟩 Clang19            Pass: 100%/1   | Total:  3m 44s | Avg:  3m 44s | Max:  3m 44s
      🟩 GCC12              Pass: 100%/1   | Total:  4m 01s | Avg:  4m 01s | Max:  4m 01s
      🟩 GCC13              Pass: 100%/1   | Total:  4m 52s | Avg:  4m 52s | Max:  4m 52s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total:  7m 44s | Avg:  3m 52s | Max:  4m 00s
      🟩 GCC                Pass: 100%/2   | Total:  8m 53s | Avg:  4m 26s | Max:  4m 52s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/4   | Total: 16m 37s | Avg:  4m 09s | Max:  4m 52s
    🟩 jobs
      🟩 Test               Pass: 100%/4   | Total: 16m 37s | Avg:  4m 09s | Max:  4m 52s
    
  • 🟩 stdpar: Pass: 100%/4 | Total: 16m 15s | Avg: 4m 03s | Max: 4m 17s

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total:  8m 31s | Avg:  4m 15s | Max:  4m 17s
      🟩 arm64              Pass: 100%/2   | Total:  7m 44s | Avg:  3m 52s | Max:  3m 55s
    🟩 ctk
      🟩 12.9               Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 17s
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 17s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 17s
    🟩 cxx
      🟩 NVHPC25.5          Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 17s
    🟩 cxx_family
      🟩 NVHPC              Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 17s
    🟩 gpu
      🟩 rtx2080            Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 17s
    🟩 jobs
      🟩 Build              Pass: 100%/4   | Total: 16m 15s | Avg:  4m 03s | Max:  4m 17s
    🟩 std
      🟩 17                 Pass: 100%/2   | Total:  8m 06s | Avg:  4m 03s | Max:  4m 17s
      🟩 20                 Pass: 100%/2   | Total:  8m 09s | Avg:  4m 04s | Max:  4m 14s
    
  • 🟩 cccl_c_parallel: Pass: 100%/2 | Total: 13m 35s | Avg: 6m 47s | Max: 10m 17s | Hits: 96%/328

    🟩 cpu
      🟩 amd64              Pass: 100%/2   | Total: 13m 35s | Avg:  6m 47s | Max: 10m 17s | Hits:  96%/328   
    🟩 ctk
      🟩 12.9               Pass: 100%/2   | Total: 13m 35s | Avg:  6m 47s | Max: 10m 17s | Hits:  96%/328   
    🟩 cudacxx
      🟩 nvcc12.9           Pass: 100%/2   | Total: 13m 35s | Avg:  6m 47s | Max: 10m 17s | Hits:  96%/328   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/2   | Total: 13m 35s | Avg:  6m 47s | Max: 10m 17s | Hits:  96%/328   
    🟩 cxx
      🟩 GCC13              Pass: 100%/2   | Total: 13m 35s | Avg:  6m 47s | Max: 10m 17s | Hits:  96%/328   
    🟩 cxx_family
      🟩 GCC                Pass: 100%/2   | Total: 13m 35s | Avg:  6m 47s | Max: 10m 17s | Hits:  96%/328   
    🟩 gpu
      🟩 rtx2080            Pass: 100%/2   | Total: 13m 35s | Avg:  6m 47s | Max: 10m 17s | Hits:  96%/328   
    🟩 jobs
      🟩 Build              Pass: 100%/1   | Total:  3m 18s | Avg:  3m 18s | Max:  3m 18s | Hits:  93%/164   
      🟩 Test               Pass: 100%/1   | Total: 10m 17s | Avg: 10m 17s | Max: 10m 17s | Hits:  98%/164   
    

👃 Inspect Changes

Modifications in project?

Project
CCCL Infrastructure
CCCL Packaging
libcu++
CUB
+/- Thrust
CUDA Experimental
stdpar
python
CCCL C Parallel Library
Catch2Helper

Modifications in project or dependencies?

Project
CCCL Infrastructure
+/- CCCL Packaging
libcu++
+/- CUB
+/- Thrust
+/- CUDA Experimental
+/- stdpar
python
+/- CCCL C Parallel Library
+/- Catch2Helper

🏃‍ Runner counts (total jobs: 130)

# Runner
89 linux-amd64-cpu16
11 windows-amd64-cpu16
10 linux-arm64-cpu16
7 linux-amd64-gpu-rtx2080-latest-1
6 linux-amd64-gpu-rtxa6000-latest-1
4 linux-amd64-gpu-h100-latest-1
3 linux-amd64-gpu-rtx4090-latest-1

@pciolkosz
Copy link
Contributor

I think with the explicit operator is not worth the extra include and potential ODR violations from the ifdefed member.
I would rather ask optix to provide interfaces taking pointers directly, CUdeviceptr is a rather flawed type:
https://www.cudahandbook.com/2013/08/why-does-cuda-cudeviceptr-use-unsigned-int-instead-of-void/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Review
Development

Successfully merging this pull request may close these issues.

[FEA]: Would be nice to have a conversion function to CUdeviceptr in thrust::device_ptr
4 participants