Skip to content

Suggestions for CUDA 11 & 12 handling in Conda environment file #146

Open
@jakirkham

Description

@jakirkham

Currently the Conda environment file makes a few assumptions, which have been reasonable so far

First one of note is the explicit use of cudatoolkit

- cudatoolkit @CUDATOOLKIT_VERSION@

The cudatoolkit package contained a collection of CUDA Toolkit libraries that are redistributable for application. In CUDA 12, the CUDA Toolkit has been split up into smaller packages with specific usage in mind (like cuBLAS runtime libraries are in the libcublas package). As a result there is no cudatoolkit package in CUDA 12. Since run_exports exist for CUDA 11 & 12

However one usage of cudatoolkit was to ensure that users are able select CUDA Toolkit packages that match a specific CUDA Toolkit version. To address this a new package, cuda-version has been added that works both with CUDA 11 (and earlier) as well as CUDA 12

So would recommend this change

- - cudatoolkit @CUDATOOLKIT_VERSION@
+ - cuda-version @CUDATOOLKIT_VERSION@

Similarly nvcc_linux-64 is only available for CUDA 11 (and earlier) on Linux x86_64

- nvcc_linux-64 @NVCC_VERSION@

On CUDA 12, there is cuda-nvcc, which will match the architecture of the system it is installed on. However there is no package to smooth over the CUDA 11 & 12 differences. Perhaps this can be accomplished by templating this package name?

Something like this may work

- - nvcc_linux-64 @NVCC_VERSION@
+ - @NVCC@ @NVCC_VERSION@

Think with these changes this will help smooth things over for CUDA 11 to 12 migration here. It also may help avoid some of the hangups seen on CI in the past ( #144 )

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions