Skip to content

Commit

Permalink
WIP: Add ctk-extra images for stf, matx.
Browse files Browse the repository at this point in the history
[skip-docs][skip-vdc][skip-rapids]
  • Loading branch information
alliepiper committed Oct 29, 2024
1 parent a237cc7 commit c40c7d9
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
9 changes: 7 additions & 2 deletions .github/actions/workflow-build/build-workflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,8 @@ def get_job_type_info(job):
result['name'] = job.capitalize()
if not 'gpu' in result:
result['gpu'] = False
if not 'cuda_ext' in result:
result['cuda_ext'] = False
if not 'needs' in result:
result['needs'] = None
if not 'invoke' in result:
Expand Down Expand Up @@ -413,13 +415,16 @@ def generate_dispatch_job_image(matrix_job, job_type):
ctk = matrix_job['ctk']
host_compiler = generate_dispatch_job_host_compiler(matrix_job, job_type)

job_info = get_job_type_info(job_type)
ctk_suffix = "ext" if job_info['cuda_ext'] else ""

if is_windows(matrix_job):
return f"rapidsai/devcontainers:{devcontainer_version}-cuda{ctk}-{host_compiler}"
return f"rapidsai/devcontainers:{devcontainer_version}-cuda{ctk}{ctk_suffix}-{host_compiler}"

if is_nvhpc(matrix_job):
return f"rapidsai/devcontainers:{devcontainer_version}-cpp-{host_compiler}"

return f"rapidsai/devcontainers:{devcontainer_version}-cpp-{host_compiler}-cuda{ctk}"
return f"rapidsai/devcontainers:{devcontainer_version}-cpp-{host_compiler}-cuda{ctk}{ctk_suffix}"


def generate_dispatch_job_command(matrix_job, job_type):
Expand Down
19 changes: 14 additions & 5 deletions ci/matrix.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ workflows:
# - {jobs: ['test'], project: 'thrust', std: 17, ctk: 'curr', cxx: ['gcc12', 'llvm16']}
#
override:
- {jobs: ['test_ext'], project: 'cudax', ctk: ['12.0' ], std: 'min', cxx: ['gcc12'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}
- {jobs: ['test_ext'], project: 'cudax', ctk: [ 'curr'], std: 'all', cxx: ['gcc12'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}
- {jobs: ['test_ext'], project: 'cudax', ctk: ['12.0' ], std: 'max', cxx: ['clang14'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}
- {jobs: ['test_ext'], project: 'cudax', ctk: [ 'curr'], std: 'max', cxx: ['clang18'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}

pull_request:
# Old CTK
Expand Down Expand Up @@ -46,10 +50,10 @@ workflows:
- {jobs: ['build'], project: 'cudax', ctk: ['12.0' ], std: 17, cxx: ['gcc12'], sm: "90"}
- {jobs: ['build'], project: 'cudax', ctk: [ 'curr'], std: 17, cxx: ['gcc13'], sm: "90a"}
- {jobs: ['build'], project: 'cudax', ctk: [ 'curr'], std: 'all', cxx: ['gcc13', 'clang16'], cpu: 'arm64'}
- {jobs: ['test'], project: 'cudax', ctk: ['12.0' ], std: 'min', cxx: ['gcc12']}
- {jobs: ['test'], project: 'cudax', ctk: [ 'curr'], std: 'all', cxx: ['gcc12']}
- {jobs: ['test'], project: 'cudax', ctk: ['12.0' ], std: 'max', cxx: ['clang14']}
- {jobs: ['test'], project: 'cudax', ctk: [ 'curr'], std: 'max', cxx: ['clang18']}
- {jobs: ['test_ext'], project: 'cudax', ctk: ['12.0' ], std: 'min', cxx: ['gcc12'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}
- {jobs: ['test_ext'], project: 'cudax', ctk: [ 'curr'], std: 'all', cxx: ['gcc12'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}
- {jobs: ['test_ext'], project: 'cudax', ctk: ['12.0' ], std: 'max', cxx: ['clang14'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}
- {jobs: ['test_ext'], project: 'cudax', ctk: [ 'curr'], std: 'max', cxx: ['clang18'], cmake_options: '-Dcudax_ENABLE_CUDASTF_MATHLIBS=ON'}
# Python and c/parallel jobs:
- {jobs: ['test'], project: ['cccl_c_parallel', 'pycuda'], ctk: '12.6'}
# cccl-infra:
Expand Down Expand Up @@ -169,8 +173,9 @@ host_compilers:

# Jobs support the following properties:
#
# - gpu: Whether the job requires a GPU runner. Default is false.
# - name: The human-readable name of the job. Default is the capitalized job key.
# - gpu: Whether the job requires a GPU runner. Default is false.
# - cuda_ext: Whether the job requires a devcontainer with extra CUDA libraries. Default is false.
# - needs:
# - A list of jobs that must be completed before this job can run. Default is an empty list.
# - These are automatically added if needed:
Expand All @@ -188,6 +193,10 @@ jobs:
test: { gpu: true, needs: 'build' }
test_nobuild: { gpu: true, name: 'Test', invoke: { prefix: 'test' } }

# Use images with extra CUDA libs:
build_ext: { name: "Build (extra CTK libs)", gpu: false, cuda_ext: true }
test_ext: { name: "Test (extra CTK libs)", gpu: true, cuda_ext: true, needs: 'build_ext' }

# CCCL:
infra: { gpu: true } # example project launches a kernel

Expand Down

0 comments on commit c40c7d9

Please sign in to comment.