Skip to content

Latest 12.6.2 packages are missing some Cython files #95

@vyasr

Description

@vyasr

The 12.6.1 release of cuda-python introduced a new package layout in the form of the cuda/bindings directory. For backwards compatibility, the old modules were preserved in their original locations but raise warnings indicating that the old layout is deprecated. Due to NVIDIA/cuda-python#215 we had to yank that release and get a new one up to fix it. 12.6.2 seems to have resolved this issue, but there is still something off. This time the issue appears to be specific to the conda-forge package (neither the nvidia channel's conda package nor the wheel on PyPI exhibit this issue).

This script demonstrates the issue:

mamba create -y -n test_cuda_python python=3.11 -c conda-forge > /dev/null                                                                                                            
conda activate test_cuda_python                                                                                                                                                       
pip install  cuda-python==12.6.2 > /dev/null                                                                                                                                          
echo -n "Checking if ccudart is in the wheel: "                                                                                                                                       
ls $(python -c 'import site; print(site.getsitepackages()[0])')/cuda/ | grep ccudart.pxd || echo ""                                                                                   
pip uninstall -y cuda-python > /dev/null                                                                                                                                              
mamba install -y cuda-python==12.6.2 -c conda-forge > /dev/null                                                                                                                       
echo -n "Checking if ccudart is in the conda-forge conda package: "                                                                                                                   
ls $(python -c 'import site; print(site.getsitepackages()[0])')/cuda/ | grep ccudart.pxd || echo ""                                                                                   
mamba uninstall -y cuda-python > /dev/null                                                                                                                                            
mamba install -y cuda-python==12.6.2 -c nvidia -c conda-forge > /dev/null                                                                                                             
echo -n "Checking if ccudart is in the nvidia conda package: "                                                                                                                        
ls $(python -c 'import site; print(site.getsitepackages()[0])')/cuda/ | grep ccudart.pxd || echo ""                                                                                   
conda deactivate                                                                                                                                                                      
conda env remove -n test_cuda_python > /dev/null  

This script outputs

Checking if ccudart is in the wheel: ccudart.pxd
Checking if ccudart is in the conda-forge conda package: 
Checking if ccudart is in the nvidia conda package: ccudart.pxd

The same is true for all the pxd files that should be in the top-level cuda directory.

The build script for this feedstock does a simple pip install. When I do the same locally, I also wind up without the extra top-level files. That leads me to believe that cuda-python is doing some extra work both in its wheel builds and the builds of the nvidia Python packages to get those files in place, but I am not sure what that is.

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