@@ -204,6 +204,7 @@ files:
204204 table : project.optional-dependencies
205205 key : test
206206 includes :
207+ - cuda_version
207208 - test_python_common
208209 - test_python_cudf_common
209210 - test_python_cudf
@@ -352,6 +353,7 @@ files:
352353 table : project.optional-dependencies
353354 key : test
354355 includes :
356+ - cuda_version
355357 - depends_on_dask_cuda
356358 - numpy_run
357359 - test_python_common
@@ -390,6 +392,7 @@ files:
390392 table : project.optional-dependencies
391393 key : test
392394 includes :
395+ - cuda_version
393396 - depends_on_dask_cuda
394397 - test_python_common
395398 - test_python_cudf_common
@@ -563,6 +566,8 @@ dependencies:
563566 - output_types : [requirements, pyproject]
564567 packages :
565568 - pyarrow>=19.0.0
569+ # 'cuda_version' intentionally does not contain fallback entries... we want
570+ # a loud error if an unsupported 'cuda' value is passed
566571 cuda_version :
567572 specific :
568573 - output_types : conda
@@ -591,6 +596,51 @@ dependencies:
591596 cuda : " 13.1"
592597 packages :
593598 - cuda-version=13.1
599+ - output_types : requirements
600+ matrices :
601+ # if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
602+ # (e.g. for DLFW and pip devcontainers)
603+ - matrix :
604+ use_cuda_wheels : " false"
605+ packages :
606+ - matrix :
607+ arch : aarch64
608+ cuda : " 12.2"
609+ use_cuda_wheels : " true"
610+ packages :
611+ # some components (like nvidia-cublas-cu12 and nvidia-cuda-nvcc-cu12) didn't have
612+ # aarch64 wheels until CTK 12.3, so allow a slightly looser bound here
613+ - cuda-toolkit>=12.2,<12.4
614+ - matrix :
615+ cuda : " 12.2"
616+ use_cuda_wheels : " true"
617+ packages :
618+ - cuda-toolkit==12.2.*
619+ - matrix :
620+ cuda : " 12.5"
621+ use_cuda_wheels : " true"
622+ packages :
623+ - cuda-toolkit==12.5.*
624+ - matrix :
625+ cuda : " 12.8"
626+ use_cuda_wheels : " true"
627+ packages :
628+ - cuda-toolkit==12.8.*
629+ - matrix :
630+ cuda : " 12.9"
631+ use_cuda_wheels : " true"
632+ packages :
633+ - cuda-toolkit==12.9.*
634+ - matrix :
635+ cuda : " 13.0"
636+ use_cuda_wheels : " true"
637+ packages :
638+ - cuda-toolkit==13.0.*
639+ - matrix :
640+ cuda : " 13.1"
641+ use_cuda_wheels : " true"
642+ packages :
643+ - cuda-toolkit==13.1.*
594644 cuda :
595645 common :
596646 - output_types : [conda]
@@ -604,14 +654,30 @@ dependencies:
604654 specific :
605655 - output_types : [requirements, pyproject]
606656 matrices :
657+ # if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
658+ # (e.g. for DLFW and pip devcontainers)
607659 - matrix :
608- cuda : " 12.* "
660+ use_cuda_wheels : " false "
609661 packages :
610- - nvidia-nvjitlink-cu12>=12.9
611- # fallback to CUDA 13 versions if 'cuda' is '13.*' or not provided
662+ # We always want nvJitLink >= whatever minor version was available in the build environment
663+ # nvJitLink tends to follow the CTK's minor versions, but check at https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
664+ #
665+ # ref: https://github.com/rapidsai/cudf/pull/20873
666+ - matrix :
667+ cuda : " 12.9"
668+ use_cuda_wheels : " true"
669+ packages :
670+ - nvidia-nvjitlink-cu12>=12.9,<13
671+ - matrix :
672+ cuda : " 13.*"
673+ use_cuda_wheels : " true"
674+ packages :
675+ - &nvjitlink_cu13 nvidia-nvjitlink>=13.0,<14
676+ # if no matching matrix selectors passed, list the CUDA 13 requirement
677+ # (just as a source of documentation, as this populates pyproject.toml in source control)
612678 - matrix :
613679 packages :
614- - nvidia-nvjitlink>=13.0
680+ - *nvjitlink_cu13
615681 develop :
616682 common :
617683 - output_types : [conda, requirements]
@@ -725,14 +791,21 @@ dependencies:
725791 specific :
726792 - output_types : [requirements, pyproject]
727793 matrices :
794+ # if use_cuda_wheels=false is provided, do not add dependencies on any CUDA wheels
795+ # (e.g. for DLFW and pip devcontainers)
796+ - matrix :
797+ use_cuda_wheels : " false"
798+ packages :
728799 - matrix :
729800 cuda : " 12.*"
730801 cuda_suffixed : " true"
802+ use_cuda_wheels : " true"
731803 packages :
732804 - cuda-toolkit[nvcc,nvrtc]==12.*
733805 - matrix :
734806 cuda : " 13.*"
735807 cuda_suffixed : " true"
808+ use_cuda_wheels : " true"
736809 packages :
737810 - cuda-toolkit[nvcc,nvrtc]==13.*
738811 - {matrix: null, packages: []}
0 commit comments