nv docker image 下载与使用命令备忘
1,系统需求
GPU Architectures | Volta, Turing, Ampere, Ada, Hopper |
NVIDIA GPU with Compute Capability | 7.0+ |
CUDA | 11.x (Driver 470.57.02+), 12.x (Driver 525.60.13+) |
CPU architectures | x86_64, ARM64 |
Operating System | Linux |
Tested Distributions | CentOS 8; Debian 11, 12; Fedora 38, 39; OpenSUSE/SLED/SLES 15.5, 15.6; RHEL 8, 9; Rocky 8, 9; Ubuntu 22.04, 24.04 |
Python versions | 3.10+ |
2,下载使用
量子计算模拟软件 docker image
下载docker image:
sudo docker pull nvcr.io/nvidia/quantum/cuda-quantum:cu12-0.9.0
创建容器的命令:
sudo docker run --gpus all -it --name cudaq_LHL_01 -v /home/hanmeimei//exe:/home/cudaq/exe nvcr.io/nvidia/quantum/cuda-quantum:cu12-0.9.0
3,vic
install gfortran
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libz.a(deflate.o): relocation R_X86_64_PC32 against symbol `z_errmsg' can not be used when making a shared object; recompile with -fPIC
build libz and install
mv /urs/lib/x86-..../libz.*** backup_libz.***
git clone https://github.com/madler/zlib.git
cd zlib
git checkout v1.3.1
CFLAGS="-fPIC" ./configure
make -j
make install
libunwind.so.1: cannot open shared object file: No such file or directory
cd /usr/lib/x86_64-linux-gnu
ln -s libunwind.so.1 libunwind.so.8
curl-8.5.0.tar.gz
#build c++ cudaq
#1.
export ROOT_INSTALL=/home/cudaq/tmp1
export CUDAQ_INSTALL_PREFIX=${ROOT_INSTALL}/local/cudaq
export CUQUANTUM_INSTALL_PREFIX=${ROOT_INSTALL}/local/cuquantum
export CUTENSOR_INSTALL_PREFIX=${ROOT_INSTALL}/local/cutensor
export LLVM_INSTALL_PREFIX=${ROOT_INSTALL}/local/llvm
export BLAS_INSTALL_PREFIX=${ROOT_INSTALL}/local/blas
export ZLIB_INSTALL_PREFIX=${ROOT_INSTALL}/local/zlib
export OPENSSL_INSTALL_PREFIX=${ROOT_INSTALL}/local/openssl
export CURL_INSTALL_PREFIX=${ROOT_INSTALL}/local/curl
export AWS_INSTALL_PREFIX=${ROOT_INSTALL}/local/aws
#2.
#export GCC_TOOLCHAIN=/opt/rh/gcc-toolset-11/root/usr/
#must set for GPU acceleration:
export GCC_TOOLCHAIN=/usr
export CXX="${GCC_TOOLCHAIN}/bin/g++"
export CC="${GCC_TOOLCHAIN}/bin/gcc"
export CUDACXX=/usr/local/cuda/bin/nvcc
export CUDAHOSTCXX="${GCC_TOOLCHAIN}/bin/g++"
如果source code locates in /home/cudaq/tmp1/cuda-quantum:
git config --global --add safe.directory /home/cudaq/tmp1/cuda-quantum
CUDAQ_ENABLE_STATIC_LINKING=TRUE \
CUDAQ_REQUIRE_OPENMP=TRUE \
CUDAQ_WERROR=TRUE \
CUDAQ_PYTHON_SUPPORT=OFF \
LLVM_PROJECTS='clang;flang;lld;mlir;openmp;runtimes' \
bash scripts/build_cudaq.sh -t llvm -v
2nd day:
10,
https://curl.se/download/curl-8.5.0.tar.gz
9,download openssl-3.3.1.tar.gz too slow:
cuda-quantum# vim scripts/install_prerequisites.sh ::250 Line
https://github.com/openssl/openssl/releases/download/openssl-3.3.1/openssl-3.3.1.tar.gz
8,install gfortran
7, libz CFLAGS="-fPIC" ./configure && make -j && make install (sudo)
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libz.a(deflate.o): relocation R_X86_64_PC32 against symbol `z_errmsg' can not be used when making a shared object; recompile with -fPIC
build libz and install
mv /urs/lib/x86-..../libz.*** backup_libz.***
git clone https://github.com/madler/zlib.git
cd zlib
git checkout v1.3.1
CFLAGS="-fPIC" ./configure
make -j
make install
create soft link in docker container:
cd /usr/lib/x86_64-linux-gnu/
gnu# ln -s /usr/local/lib/libz.so.1.3.1 libz.so
gnu# ln -s /usr/local/lib/libz.so.1.3.1 libz.so.1
gnu# ln -s /usr/local/lib/libz.a libz.a
6,libunwind.so.1
libunwind.so.1: cannot open shared object file: No such file or directory
cd /usr/lib/x86_64-linux-gnu
ln -s libunwind.so.1 libunwind.so.8
curl-8.5.0.tar.gz
#build c++ cudaq
#1.
export ROOT_INSTALL=/home/cudaq/tmp1
export CUDAQ_INSTALL_PREFIX=${ROOT_INSTALL}/local/cudaq
export CUQUANTUM_INSTALL_PREFIX=${ROOT_INSTALL}/local/cuquantum
export CUTENSOR_INSTALL_PREFIX=${ROOT_INSTALL}/local/cutensor
export LLVM_INSTALL_PREFIX=${ROOT_INSTALL}/local/llvm
export BLAS_INSTALL_PREFIX=${ROOT_INSTALL}/local/blas
export ZLIB_INSTALL_PREFIX=${ROOT_INSTALL}/local/zlib
export OPENSSL_INSTALL_PREFIX=${ROOT_INSTALL}/local/openssl
export CURL_INSTALL_PREFIX=${ROOT_INSTALL}/local/curl
export AWS_INSTALL_PREFIX=${ROOT_INSTALL}/local/aws
#2.
#export GCC_TOOLCHAIN=/opt/rh/gcc-toolset-11/root/usr/
#must set for GPU acceleration:
export GCC_TOOLCHAIN=/usr
export CXX="${GCC_TOOLCHAIN}/bin/g++"
export CC="${GCC_TOOLCHAIN}/bin/gcc"
export CUDACXX=/usr/local/cuda/bin/nvcc
export CUDAHOSTCXX="${GCC_TOOLCHAIN}/bin/g++"
如果source code locates in /home/cudaq/tmp1/cuda-quantum:
git config --global --add safe.directory /home/cudaq/tmp1/cuda-quantum
CUDAQ_ENABLE_STATIC_LINKING=TRUE \
CUDAQ_REQUIRE_OPENMP=TRUE \
CUDAQ_WERROR=TRUE \
CUDAQ_PYTHON_SUPPORT=OFF \
LLVM_PROJECTS='clang;flang;lld;mlir;openmp;runtimes' \
bash scripts/build_cudaq.sh -t llvm -v
和它放一起哈
http://sw.iluvatar.ai/download/infra/openssl/openssl-1.1.1k.tar.gz
aws-sdk-cpp:
git clone --filter=tree:0 https://github.com/aws/aws-sdk-cpp aws-sdk-cpp
cd aws-sdk-cpp && git checkout 1.11.454 && git submodule update --init --recursive
cudaquantum:
https://developer.download.nvidia.com/compute/cuquantum/redist/cuquantum/linux-x86_64/cuquantum-linux-x86_64-24.11.0.21_cuda12-archive.tar.xz
cp -r /usr/local/cuquantum /home/cudaq/tmp1/local/cuquantum
libcutensor:
scripts/configure_build.sh:90: CUTENSOR_DOWNLOAD_URL=https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor
scripts/configure_build.sh:92: cutensor_archive=libcutensor-linux-${CUDA_ARCH_FOLDER}-${CUTENSOR_VERSION}-archive.tar.xz
wget https://developer.download.nvidia.com/compute/cutensor/redist/libcutensor/linux-x86_64/libcutensor-linux-x86_64-2.0.2.5-archive.tar.xz
cp -r /usr/local/cutensor /home/cudaq/tmp1/local/cutensor
22, tpls/Crow
git config --global --add safe.directory /home/cudaq/tmp1/cuda-quantum/tpls/Crow