在 cuda 基础环境中安装完整的cupy
nvidia/cuda:12.6.3-cudnn-devel-ubuntu22.04
1. 创建 cuda 基础容器
export NUM=2 && \
sudo docker run --gpus all -it \
--name cupy_LHL_${NUM} \
-v /home/jimmy/ex_cupy/tmp${NUM}:/root/tmp${NUM} \
-v /home/jimmy/.ssh:/root/.ssh \
nvidia/cuda:12.6.3-devel-ubuntu22.04
apt-get update && apt-get install python3 && apt-get install python3-pip && python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
2. 安装 cutensor
Install cutensor:
wget https://developer.download.nvidia.com/compute/cutensor/2.2.0/local_installers/cutensor-local-repo-ubuntu2204-2.2.0_1.0-1_amd64.deb
sudo dpkg -i cutensor-local-repo-ubuntu2204-2.2.0_1.0-1_amd64.deb
sudo cp /var/cutensor-local-repo-ubuntu2204-2.2.0/cutensor-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install libcutensor2 libcutensor-dev libcutensor-doc
3. 安装 cusparseLt
Install cusparseLt:
wget https://developer.download.nvidia.com/compute/cusparselt/0.7.1/local_installers/cusparselt-local-repo-ubuntu2204-0.7.1_1.0-1_amd64.deb
sudo dpkg -i cusparselt-local-repo-ubuntu2204-0.7.1_1.0-1_amd64.deb
sudo cp /var/cusparselt-local-repo-ubuntu2204-0.7.1/cusparselt-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install libcusparselt0 libcusparselt-dev
4. 安装 cudnn
wget https://developer.download.nvidia.com/compute/cudnn/9.10.2/local_installers/cudnn-local-repo-ubuntu2204-9.10.2_1.0-1_amd64.deb
sudo dpkg -i cudnn-local-repo-ubuntu2204-9.10.2_1.0-1_amd64.deb
sudo cp /var/cudnn-local-repo-ubuntu2204-9.10.2/cudnn-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cudnn
5. 安装 nccl
git clone https://github.com/NVIDIA/nccl.git
cd nccl/
sudo apt install build-essential devscripts debhelper fakeroot
$ make -j src.build NVCC_GENCODE="-gencode=arch=compute_70,code=sm_70"
$ make pkg.debian.build
$ ls build/pkg/deb/
sudo dpkg -i build/pkg/deb/xxx.deb
sudo dpkg -i build/pkg/deb/xxx-dev.deb
6. 下载cupy 源码并创建 wheel
git clone https://github.com/cupy/cupy.git
cd cupy
git branch
git checkout v13.4.1
git branch
git submodule update --init
python3 -v setup.py bdist_wheel