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

Unify shared infra #2354

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

Unify shared infra #2354

wants to merge 8 commits into from

Conversation

alliepiper
Copy link
Collaborator

Description

This PR centralizes shared infrastructure to the CCCL level, reducing redundancy across our projects and facilitating the introduction of new subprojects.

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.

I like it a lot

cmake/CCCLBuildCompilerTargets.cmake Outdated Show resolved Hide resolved
cmake/CCCLBuildCompilerTargets.cmake Outdated Show resolved Hide resolved
cmake/CCCLBuildCompilerTargets.cmake Outdated Show resolved Hide resolved
cudax/cmake/cudaxBuildCompilerTargets.cmake Outdated Show resolved Hide resolved
Copy link
Contributor

🟨 CI finished in 7h 50m: Pass: 84%/33 | Total: 16h 37m | Avg: 30m 13s | Max: 1h 42m | Hits: 98%/5962
  • 🟨 cub: Pass: 81%/11 | Total: 13h 07m | Avg: 1h 11m | Max: 1h 42m | Hits: 99%/727

    🚨 jobs: TestGPU 🚨
      🟩 Build              Pass: 100%/3   | Total:  1h 45m | Avg: 35m 15s | Max: 47m 12s | Hits:  99%/727   
      🟩 DeviceLaunch       Pass: 100%/2   | Total:  2h 46m | Avg:  1h 23m | Max:  1h 25m
      🟩 GraphCapture       Pass: 100%/2   | Total:  2h 40m | Avg:  1h 20m | Max:  1h 20m
      🟩 HostLaunch         Pass: 100%/2   | Total:  2h 44m | Avg:  1h 22m | Max:  1h 23m
      🔥 TestGPU            Pass:   0%/2   | Total:  3h 10m | Avg:  1h 35m | Max:  1h 42m
    🟨 cxx
      🟨 Clang18            Pass:  80%/5   | Total:  6h 23m | Avg:  1h 16m | Max:  1h 27m
      🟨 GCC13              Pass:  80%/5   | Total:  6h 29m | Avg:  1h 17m | Max:  1h 42m
      🟩 MSVC14.39          Pass: 100%/1   | Total: 14m 19s | Avg: 14m 19s | Max: 14m 19s | Hits:  99%/727   
    🟨 cxx_family
      🟨 Clang              Pass:  80%/5   | Total:  6h 23m | Avg:  1h 16m | Max:  1h 27m
      🟨 GCC                Pass:  80%/5   | Total:  6h 29m | Avg:  1h 17m | Max:  1h 42m
      🟩 MSVC               Pass: 100%/1   | Total: 14m 19s | Avg: 14m 19s | Max: 14m 19s | Hits:  99%/727   
    🟨 cpu
      🟨 amd64              Pass:  81%/11  | Total: 13h 07m | Avg:  1h 11m | Max:  1h 42m | Hits:  99%/727   
    🟨 ctk
      🟨 12.6               Pass:  81%/11  | Total: 13h 07m | Avg:  1h 11m | Max:  1h 42m | Hits:  99%/727   
    🟨 cudacxx
      🟨 nvcc12.6           Pass:  81%/11  | Total: 13h 07m | Avg:  1h 11m | Max:  1h 42m | Hits:  99%/727   
    🟨 cudacxx_family
      🟨 nvcc               Pass:  81%/11  | Total: 13h 07m | Avg:  1h 11m | Max:  1h 42m | Hits:  99%/727   
    🟨 gpu
      🟨 v100               Pass:  81%/11  | Total: 13h 07m | Avg:  1h 11m | Max:  1h 42m | Hits:  99%/727   
    
  • 🟨 libcudacxx: Pass: 60%/5 | Total: 54m 30s | Avg: 10m 54s | Max: 21m 28s | Hits: 99%/2903

    🚨 jobs: Test 🚨
      🟩 Build              Pass: 100%/3   | Total: 41m 54s | Avg: 13m 58s | Max: 21m 28s | Hits:  99%/2903  
      🔥 Test               Pass:   0%/2   | Total: 12m 36s | Avg:  6m 18s | Max:  6m 23s
    🟨 cxx
      🟨 Clang18            Pass:  50%/2   | Total: 27m 51s | Avg: 13m 55s | Max: 21m 28s
      🟨 GCC13              Pass:  50%/2   | Total: 10m 29s | Avg:  5m 14s | Max:  6m 13s
      🟩 MSVC14.39          Pass: 100%/1   | Total: 16m 10s | Avg: 16m 10s | Max: 16m 10s | Hits:  99%/2903  
    🟨 cxx_family
      🟨 Clang              Pass:  50%/2   | Total: 27m 51s | Avg: 13m 55s | Max: 21m 28s
      🟨 GCC                Pass:  50%/2   | Total: 10m 29s | Avg:  5m 14s | Max:  6m 13s
      🟩 MSVC               Pass: 100%/1   | Total: 16m 10s | Avg: 16m 10s | Max: 16m 10s | Hits:  99%/2903  
    🟨 cpu
      🟨 amd64              Pass:  60%/5   | Total: 54m 30s | Avg: 10m 54s | Max: 21m 28s | Hits:  99%/2903  
    🟨 ctk
      🟨 12.6               Pass:  60%/5   | Total: 54m 30s | Avg: 10m 54s | Max: 21m 28s | Hits:  99%/2903  
    🟨 cudacxx
      🟨 nvcc12.6           Pass:  60%/5   | Total: 54m 30s | Avg: 10m 54s | Max: 21m 28s | Hits:  99%/2903  
    🟨 cudacxx_family
      🟨 nvcc               Pass:  60%/5   | Total: 54m 30s | Avg: 10m 54s | Max: 21m 28s | Hits:  99%/2903  
    🟨 gpu
      🟨 v100               Pass:  60%/5   | Total: 54m 30s | Avg: 10m 54s | Max: 21m 28s | Hits:  99%/2903  
    
  • 🟨 thrust: Pass: 87%/8 | Total: 1h 48m | Avg: 13m 31s | Max: 26m 56s | Hits: 99%/2230

    🔍 cxx: MSVC14.39 🔍
      🟩 Clang18            Pass: 100%/3   | Total: 39m 22s | Avg: 13m 07s | Max: 26m 56s
      🟩 GCC13              Pass: 100%/3   | Total: 39m 34s | Avg: 13m 11s | Max: 26m 43s
      🔍 MSVC14.39          Pass:  50%/2   | Total: 29m 16s | Avg: 14m 38s | Max: 19m 41s | Hits:  99%/2230  
    🔍 cxx_family: MSVC 🔍
      🟩 Clang              Pass: 100%/3   | Total: 39m 22s | Avg: 13m 07s | Max: 26m 56s
      🟩 GCC                Pass: 100%/3   | Total: 39m 34s | Avg: 13m 11s | Max: 26m 43s
      🔍 MSVC               Pass:  50%/2   | Total: 29m 16s | Avg: 14m 38s | Max: 19m 41s | Hits:  99%/2230  
    🔍 jobs: TestCPU 🔍
      🟩 Build              Pass: 100%/3   | Total: 30m 14s | Avg: 10m 04s | Max: 19m 41s | Hits:  99%/2230  
      🔍 TestCPU            Pass:  66%/3   | Total: 24m 19s | Avg:  8m 06s | Max:  9m 35s
      🟩 TestGPU            Pass: 100%/2   | Total: 53m 39s | Avg: 26m 49s | Max: 26m 56s
    🟨 cpu
      🟨 amd64              Pass:  87%/8   | Total:  1h 48m | Avg: 13m 31s | Max: 26m 56s | Hits:  99%/2230  
    🟨 ctk
      🟨 12.6               Pass:  87%/8   | Total:  1h 48m | Avg: 13m 31s | Max: 26m 56s | Hits:  99%/2230  
    🟨 cudacxx
      🟨 nvcc12.6           Pass:  87%/8   | Total:  1h 48m | Avg: 13m 31s | Max: 26m 56s | Hits:  99%/2230  
    🟨 cudacxx_family
      🟨 nvcc               Pass:  87%/8   | Total:  1h 48m | Avg: 13m 31s | Max: 26m 56s | Hits:  99%/2230  
    🟨 gpu
      🟨 v100               Pass:  87%/8   | Total:  1h 48m | Avg: 13m 31s | Max: 26m 56s | Hits:  99%/2230  
    
  • 🟩 cudax: Pass: 100%/5 | Total: 27m 52s | Avg: 5m 34s | Max: 11m 32s | Hits: 23%/102

    🟩 cpu
      🟩 amd64              Pass: 100%/5   | Total: 27m 52s | Avg:  5m 34s | Max: 11m 32s | Hits:  23%/102   
    🟩 ctk
      🟩 12.6               Pass: 100%/5   | Total: 27m 52s | Avg:  5m 34s | Max: 11m 32s | Hits:  23%/102   
    🟩 cudacxx
      🟩 nvcc12.6           Pass: 100%/5   | Total: 27m 52s | Avg:  5m 34s | Max: 11m 32s | Hits:  23%/102   
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/5   | Total: 27m 52s | Avg:  5m 34s | Max: 11m 32s | Hits:  23%/102   
    🟩 cxx
      🟩 Clang18            Pass: 100%/2   | Total:  8m 05s | Avg:  4m 02s | Max:  5m 58s
      🟩 GCC13              Pass: 100%/2   | Total:  8m 15s | Avg:  4m 07s | Max:  5m 42s
      🟩 MSVC14.39          Pass: 100%/1   | Total: 11m 32s | Avg: 11m 32s | Max: 11m 32s | Hits:  23%/102   
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total:  8m 05s | Avg:  4m 02s | Max:  5m 58s
      🟩 GCC                Pass: 100%/2   | Total:  8m 15s | Avg:  4m 07s | Max:  5m 42s
      🟩 MSVC               Pass: 100%/1   | Total: 11m 32s | Avg: 11m 32s | Max: 11m 32s | Hits:  23%/102   
    🟩 gpu
      🟩 v100               Pass: 100%/5   | Total: 27m 52s | Avg:  5m 34s | Max: 11m 32s | Hits:  23%/102   
    🟩 jobs
      🟩 Build              Pass: 100%/3   | Total: 16m 12s | Avg:  5m 24s | Max: 11m 32s | Hits:  23%/102   
      🟩 Test               Pass: 100%/2   | Total: 11m 40s | Avg:  5m 50s | Max:  5m 58s
    
  • 🟩 cccl: Pass: 100%/4 | Total: 19m 20s | Avg: 4m 50s | Max: 5m 43s

    🟩 cpu
      🟩 amd64              Pass: 100%/4   | Total: 19m 20s | Avg:  4m 50s | Max:  5m 43s
    🟩 ctk
      🟩 11.1               Pass: 100%/2   | Total:  8m 29s | Avg:  4m 14s | Max:  4m 22s
      🟩 12.6               Pass: 100%/2   | Total: 10m 51s | Avg:  5m 25s | Max:  5m 43s
    🟩 cudacxx
      🟩 nvcc11.1           Pass: 100%/2   | Total:  8m 29s | Avg:  4m 14s | Max:  4m 22s
      🟩 nvcc12.6           Pass: 100%/2   | Total: 10m 51s | Avg:  5m 25s | Max:  5m 43s
    🟩 cudacxx_family
      🟩 nvcc               Pass: 100%/4   | Total: 19m 20s | Avg:  4m 50s | Max:  5m 43s
    🟩 cxx
      🟩 Clang9             Pass: 100%/1   | Total:  4m 22s | Avg:  4m 22s | Max:  4m 22s
      🟩 Clang18            Pass: 100%/1   | Total:  5m 08s | Avg:  5m 08s | Max:  5m 08s
      🟩 GCC6               Pass: 100%/1   | Total:  4m 07s | Avg:  4m 07s | Max:  4m 07s
      🟩 GCC13              Pass: 100%/1   | Total:  5m 43s | Avg:  5m 43s | Max:  5m 43s
    🟩 cxx_family
      🟩 Clang              Pass: 100%/2   | Total:  9m 30s | Avg:  4m 45s | Max:  5m 08s
      🟩 GCC                Pass: 100%/2   | Total:  9m 50s | Avg:  4m 55s | Max:  5m 43s
    🟩 gpu
      🟩 v100               Pass: 100%/4   | Total: 19m 20s | Avg:  4m 50s | Max:  5m 43s
    🟩 jobs
      🟩 Infra              Pass: 100%/4   | Total: 19m 20s | Avg:  4m 50s | Max:  5m 43s
    

🛠️ Override Matrix

[
  {
    "jobs": [
      "test"
    ],
    "project": [
      "libcudacxx",
      "thrust",
      "cub",
      "cudax"
    ],
    "ctk": "curr",
    "cxx": [
      "gcc",
      "clang",
      "msvc"
    ]
  },
  {
    "jobs": [
      "infra"
    ],
    "project": "cccl",
    "ctk": "11.1",
    "cxx": [
      "gcc6",
      "clang9"
    ]
  },
  {
    "jobs": [
      "infra"
    ],
    "project": "cccl",
    "ctk": "curr",
    "cxx": [
      "gcc",
      "clang"
    ]
  }
]

👃 Inspect Changes

Modifications in project?

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

Modifications in project or dependencies?

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

🏃‍ Runner counts (total jobs: 33)

# Runner
18 linux-amd64-gpu-v100-latest-1
10 linux-amd64-cpu16
5 windows-amd64-cpu16

@alliepiper alliepiper force-pushed the shared_infra branch 3 times, most recently from 014a013 to 4cc0dd8 Compare September 17, 2024 18:46
These tests check that consumers can

add_subdirectory(cccl/cub)
add_subdirectory(cccl/thrust)

to add Thrust or CUB to their build.
This hasn't been sensible or supported since we migrated to the monorepo.

Now that we're moving shared CMake infra to the CCCL, these tests are finally actually failing.
These tests are redundant with CCCL-level tests, and
no longer function now that install rules are centralized
at the top level.
[skip-vdc][skip-docs][skip-rapids]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

[FEA]: Consolidate shared CMake infrastructure.
2 participants