Skip to content

Commit

Permalink
Add gcc13, clang17, clang18 to CI (#1757)
Browse files Browse the repository at this point in the history
* Update matrix.yaml

* Update devcontainers.

* Remove clang18

* Do not check the cuda version in lit

We want to test exactly that version for a reason

* Remove duplicated job

Co-authored-by: Allison Piper <[email protected]>

* Update ci/matrix.yaml

Co-authored-by: Allison Piper <[email protected]>

* Resolve conflicts.

* Fix typo,

---------

Co-authored-by: anon <users.noreply.github.com>
Co-authored-by: Michael Schellenberger Costa <[email protected]>
Co-authored-by: Allison Piper <[email protected]>
  • Loading branch information
3 people committed May 31, 2024
1 parent ca0ca5a commit 8b5bf66
Show file tree
Hide file tree
Showing 6 changed files with 176 additions and 14 deletions.
51 changes: 51 additions & 0 deletions .devcontainer/cuda12.4-gcc13/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"shutdownAction": "stopContainer",
"image": "rapidsai/devcontainers:24.06-cpp-gcc13-cuda12.4-ubuntu22.04",
"hostRequirements": {
"gpu": "optional"
},
"initializeCommand": [
"/bin/bash",
"-c",
"mkdir -m 0755 -p ${localWorkspaceFolder}/.{aws,cache,config}"
],
"containerEnv": {
"SCCACHE_REGION": "us-east-2",
"SCCACHE_BUCKET": "rapids-sccache-devs",
"VAULT_HOST": "https://vault.ops.k8s.rapids.ai",
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
"DEVCONTAINER_NAME": "cuda12.4-gcc13",
"CCCL_CUDA_VERSION": "12.4",
"CCCL_HOST_COMPILER": "gcc",
"CCCL_HOST_COMPILER_VERSION": "13",
"CCCL_BUILD_INFIX": "cuda12.4-gcc13"
},
"workspaceFolder": "/home/coder/${localWorkspaceFolderBasename}",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
"mounts": [
"source=${localWorkspaceFolder}/.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/.config,target=/home/coder/.config,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"llvm-vs-code-extensions.vscode-clangd",
"xaver.clang-format",
"nvidia.nsight-vscode-edition",
"ms-vscode.cmake-tools"
],
"settings": {
"editor.defaultFormatter": "xaver.clang-format",
"editor.formatOnSave": true,
"clang-format.executable": "/usr/local/bin/clang-format",
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}"
],
"files.eol": "\n",
"files.trimTrailingWhitespace": true
}
}
},
"name": "cuda12.4-gcc13"
}
51 changes: 51 additions & 0 deletions .devcontainer/cuda12.4-llvm17/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"shutdownAction": "stopContainer",
"image": "rapidsai/devcontainers:24.06-cpp-llvm17-cuda12.4-ubuntu22.04",
"hostRequirements": {
"gpu": "optional"
},
"initializeCommand": [
"/bin/bash",
"-c",
"mkdir -m 0755 -p ${localWorkspaceFolder}/.{aws,cache,config}"
],
"containerEnv": {
"SCCACHE_REGION": "us-east-2",
"SCCACHE_BUCKET": "rapids-sccache-devs",
"VAULT_HOST": "https://vault.ops.k8s.rapids.ai",
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
"DEVCONTAINER_NAME": "cuda12.4-llvm17",
"CCCL_CUDA_VERSION": "12.4",
"CCCL_HOST_COMPILER": "llvm",
"CCCL_HOST_COMPILER_VERSION": "17",
"CCCL_BUILD_INFIX": "cuda12.4-llvm17"
},
"workspaceFolder": "/home/coder/${localWorkspaceFolderBasename}",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
"mounts": [
"source=${localWorkspaceFolder}/.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/.config,target=/home/coder/.config,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"llvm-vs-code-extensions.vscode-clangd",
"xaver.clang-format",
"nvidia.nsight-vscode-edition",
"ms-vscode.cmake-tools"
],
"settings": {
"editor.defaultFormatter": "xaver.clang-format",
"editor.formatOnSave": true,
"clang-format.executable": "/usr/local/bin/clang-format",
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}"
],
"files.eol": "\n",
"files.trimTrailingWhitespace": true
}
}
},
"name": "cuda12.4-llvm17"
}
51 changes: 51 additions & 0 deletions .devcontainer/cuda12.4-llvm18/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"shutdownAction": "stopContainer",
"image": "rapidsai/devcontainers:24.06-cpp-llvm18-cuda12.4-ubuntu22.04",
"hostRequirements": {
"gpu": "optional"
},
"initializeCommand": [
"/bin/bash",
"-c",
"mkdir -m 0755 -p ${localWorkspaceFolder}/.{aws,cache,config}"
],
"containerEnv": {
"SCCACHE_REGION": "us-east-2",
"SCCACHE_BUCKET": "rapids-sccache-devs",
"VAULT_HOST": "https://vault.ops.k8s.rapids.ai",
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
"DEVCONTAINER_NAME": "cuda12.4-llvm18",
"CCCL_CUDA_VERSION": "12.4",
"CCCL_HOST_COMPILER": "llvm",
"CCCL_HOST_COMPILER_VERSION": "18",
"CCCL_BUILD_INFIX": "cuda12.4-llvm18"
},
"workspaceFolder": "/home/coder/${localWorkspaceFolderBasename}",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
"mounts": [
"source=${localWorkspaceFolder}/.aws,target=/home/coder/.aws,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/.cache,target=/home/coder/.cache,type=bind,consistency=consistent",
"source=${localWorkspaceFolder}/.config,target=/home/coder/.config,type=bind,consistency=consistent"
],
"customizations": {
"vscode": {
"extensions": [
"llvm-vs-code-extensions.vscode-clangd",
"xaver.clang-format",
"nvidia.nsight-vscode-edition",
"ms-vscode.cmake-tools"
],
"settings": {
"editor.defaultFormatter": "xaver.clang-format",
"editor.formatOnSave": true,
"clang-format.executable": "/usr/local/bin/clang-format",
"clangd.arguments": [
"--compile-commands-dir=${workspaceFolder}"
],
"files.eol": "\n",
"files.trimTrailingWhitespace": true
}
}
},
"name": "cuda12.4-llvm18"
}
10 changes: 5 additions & 5 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"shutdownAction": "stopContainer",
"image": "rapidsai/devcontainers:24.06-cpp-gcc12-cuda12.4-ubuntu22.04",
"image": "rapidsai/devcontainers:24.06-cpp-gcc13-cuda12.4-ubuntu22.04",
"hostRequirements": {
"gpu": "optional"
},
Expand All @@ -14,11 +14,11 @@
"SCCACHE_BUCKET": "rapids-sccache-devs",
"VAULT_HOST": "https://vault.ops.k8s.rapids.ai",
"HISTFILE": "${containerWorkspaceFolder}/.cache/._bash_history",
"DEVCONTAINER_NAME": "cuda12.4-gcc12",
"DEVCONTAINER_NAME": "cuda12.4-gcc13",
"CCCL_CUDA_VERSION": "12.4",
"CCCL_HOST_COMPILER": "gcc",
"CCCL_HOST_COMPILER_VERSION": "12",
"CCCL_BUILD_INFIX": "cuda12.4-gcc12"
"CCCL_HOST_COMPILER_VERSION": "13",
"CCCL_BUILD_INFIX": "cuda12.4-gcc13"
},
"workspaceFolder": "/home/coder/${localWorkspaceFolderBasename}",
"workspaceMount": "source=${localWorkspaceFolder},target=/home/coder/${localWorkspaceFolderBasename},type=bind,consistency=consistent",
Expand Down Expand Up @@ -47,5 +47,5 @@
}
}
},
"name": "cuda12.4-gcc12"
"name": "cuda12.4-gcc13"
}
25 changes: 17 additions & 8 deletions ci/matrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,9 @@ gcc9: &gcc9 { name: 'gcc', version: '9', exe: 'g++' }
gcc10: &gcc10 { name: 'gcc', version: '10', exe: 'g++' }
gcc11: &gcc11 { name: 'gcc', version: '11', exe: 'g++' }
gcc12: &gcc12 { name: 'gcc', version: '12', exe: 'g++' }
gcc13: &gcc13 { name: 'gcc', version: '13', exe: 'g++' }
gcc-oldest: &gcc-oldest { name: 'gcc', version: '6', exe: 'g++' }
gcc-newest: &gcc-newest { name: 'gcc', version: '12', exe: 'g++' }
gcc-newest: &gcc-newest { name: 'gcc', version: '13', exe: 'g++' }

# LLVM Compiler configurations
llvm9: &llvm9 { name: 'llvm', version: '9', exe: 'clang++' }
Expand All @@ -26,8 +27,9 @@ llvm13: &llvm13 { name: 'llvm', version: '13', exe: 'clang++' }
llvm14: &llvm14 { name: 'llvm', version: '14', exe: 'clang++' }
llvm15: &llvm15 { name: 'llvm', version: '15', exe: 'clang++' }
llvm16: &llvm16 { name: 'llvm', version: '16', exe: 'clang++' }
llvm17: &llvm17 { name: 'llvm', version: '17', exe: 'clang++' }
llvm-oldest: &llvm-oldest { name: 'llvm', version: '9', exe: 'clang++' }
llvm-newest: &llvm-newest { name: 'llvm', version: '16', exe: 'clang++' }
llvm-newest: &llvm-newest { name: 'llvm', version: '17', exe: 'clang++' }

# MSVC configs
msvc2017: &msvc2017 { name: 'cl', version: '14.16', exe: 'cl++' }
Expand All @@ -51,14 +53,17 @@ workflows:
override:

pull_request:
# Old CTK
- {jobs: ['build'], std: 'all', ctk: *ctk_11_1, cxx: [*gcc6, *gcc7, *gcc8, *gcc9, *llvm9, *msvc2017]}
- {jobs: ['build'], std: 'all', ctk: *ctk_11_8, cxx: [*gcc11], sm: '60;70;80;90'}
- {jobs: ['build'], std: 'all', cxx: [*gcc7, *gcc8, *gcc9, *gcc10, *gcc11]}
- {jobs: ['build'], std: 'all', cxx: [*llvm9, *llvm10, *llvm11, *llvm12, *llvm13, *llvm14, *llvm15]}
# Current CTK
- {jobs: ['build'], std: 'all', cxx: [*gcc7, *gcc8, *gcc9, *gcc10, *gcc11, *gcc12]}
- {jobs: ['build'], std: 'all', cxx: [*llvm9, *llvm10, *llvm11, *llvm12, *llvm13, *llvm14, *llvm15, *llvm16]}
- {jobs: ['build'], std: 'all', cxx: [*oneapi, *msvc2019]}
- {jobs: ['test'], std: 'all', cxx: [*gcc12, *llvm16, *msvc2022]}
- {jobs: ['build'], std: 'all', cxx: [*gcc12, *llvm16], cpu: 'arm64'}
- {jobs: ['build'], std: 'all', cxx: [*gcc12], sm: '90a'}
- {jobs: ['test'], std: 'all', cxx: [*gcc13, *llvm17, *msvc2022]}
# Modded builds:
- {jobs: ['build'], std: 'all', cxx: [*gcc-newest, *llvm-newest], cpu: 'arm64'}
- {jobs: ['build'], std: 'all', cxx: [*gcc-newest], sm: '90a'}
# default_projects: clang-cuda
- {jobs: ['build'], std: [17, 20], cudacxx: *llvm-newest, cxx: *llvm-newest}
# nvrtc:
Expand Down Expand Up @@ -168,7 +173,7 @@ optional_tags:
# `default_<tag>`: Used when the tag is omitted.
default_ctk: *ctk_curr
default_cudacxx: 'nvcc'
default_cxx: *gcc12
default_cxx: *gcc-newest
default_cpu: 'amd64'
default_gpu: 'v100'
default_project:
Expand Down Expand Up @@ -209,6 +214,7 @@ default_os_lookup:
'ctk12.4-gcc10': 'ubuntu20.04'
'ctk12.4-gcc11': 'ubuntu22.04'
'ctk12.4-gcc12': 'ubuntu22.04'
'ctk12.4-gcc13': 'ubuntu22.04'
'ctk12.4-llvm9': 'ubuntu20.04'
'ctk12.4-llvm10': 'ubuntu20.04'
'ctk12.4-llvm11': 'ubuntu20.04'
Expand All @@ -217,6 +223,7 @@ default_os_lookup:
'ctk12.4-llvm14': 'ubuntu20.04'
'ctk12.4-llvm15': 'ubuntu22.04'
'ctk12.4-llvm16': 'ubuntu22.04'
'ctk12.4-llvm17': 'ubuntu22.04'
'ctk12.4-cl14.29': 'windows2022'
'ctk12.4-cl14.36': 'windows2022'
'ctk12.4-cl14.39': 'windows2022'
Expand All @@ -232,6 +239,7 @@ lookup_cxx_supported_stds:
'gcc10': [11, 14, 17, 20]
'gcc11': [11, 14, 17, 20]
'gcc12': [11, 14, 17, 20]
'gcc13': [11, 14, 17, 20]
'llvm9': [11, 14, 17 ]
'llvm10': [11, 14, 17 ]
'llvm11': [11, 14, 17, 20]
Expand All @@ -240,6 +248,7 @@ lookup_cxx_supported_stds:
'llvm14': [11, 14, 17, 20]
'llvm15': [11, 14, 17, 20]
'llvm16': [11, 14, 17, 20]
'llvm17': [11, 14, 17, 20]
'cl14.16': [ 14 ]
'cl14.29': [ 14, 17 ]
'cl14.36': [ 14, 17, 20]
Expand Down
2 changes: 1 addition & 1 deletion libcudacxx/test/utils/libcudacxx/test/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -781,7 +781,7 @@ def configure_default_compile_flags(self):

extraflags = []
if self.cxx.type == 'clang':
extraflags = ['-Wno-unknown-cuda-version']
extraflags = ['-Wno-unknown-cuda-version', '--no-cuda-version-check']

# Do a check with the user/config flag to ensure that the flag is supported.
if not self.cxx.hasCompileFlag([stdflag] + extraflags):
Expand Down

0 comments on commit 8b5bf66

Please sign in to comment.