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.
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:
This script outputs
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.