centos7安装CUDA Tookit+CUDA Samples+NCCL+OpenMPI

NVIDIA® CUDA®工具包为创建高性能 GPU 加速应用提供了发展环境。使用 CUDA 工具包,您可以在 GPU 加速嵌入式系统、桌面工作站、企业数据中心、基于云的平台和 HPC 超级计算机上开发、优化和部署您的应用程序。工具包包括 GPU 加速库、调试和优化工具、C/C++编译器以及一个运行时库,以便在包括 x86、Arm 和 POWER 在内的主要架构上构建和部署您的应用程序。科学家和研究人员可以利用内置功能在多 GPU 配置中分配计算,开发从单个 GPU 工作站到拥有数千个 GPU 的云安装的应用程序。

简单介绍下我们就来进行cuda tookit的安装,我这里选择的是cuda11.8

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
chmod +x cuda_11.8.0_520.61.05_linux.run
./cuda_11.8.0_520.61.05_linux.run

安装的时候需要注意,不需要再勾选驱动了,我们已经进行了驱动的安装,直接输入accept,然后切换到install进行安装,安装完以后需要添加一些环境变量

echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> /etc/profile
source /etc/profile
nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

cuda tookit这样就安装好了,由于11.8 的cuda tookit不再包含cuda samples,所以我们还需要自行进行安装cuda samples进行测试,相关包可以在这里下载:https://github.com/NVIDIA/cuda-samples/releases,注意这个samples包也需要对应cuda版本。

我下载的也是cuda11.8这个版本的

tar -zxvf cuda-samples-11.8.tar.gz
cd /tmp/cuda-samples-11.8/Samples/1_Utilities/deviceQuery
make #编译,然后会生成deviceQuery文件
./deviceQuery

微信截图_20240604114623.png

还有其他的工具也可以进行测试,例如位宽测试工具

cd /tmp/cuda-samples-11.8/Samples/1_Utilities/bandwidthTest
make #编译
./bandwidthTest

微信截图_20240604114749.png

接着我们安装nccl,也需要和cuda版本对应起来,如果需要其他版本可以去这里下载或者寻找对应版本的安装方法:https://developer.nvidia.com/nccl/nccl-legacy-downloads

yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
yum install libnccl-2.16.5-1+cuda11.8 libnccl-devel-2.16.5-1+cuda11.8 libnccl-static-2.16.5-1+cuda11.8

安装好以后可以使用下面命令进行验证

cat /usr/include/nccl.h | grep "#define NCCL_MAJOR"
#define NCCL_MAJOR 2
ll /usr/lib64/ | grep -i nccl

微信截图_20240604113547.png

可以看到安装版本的nccl库文件,nccl这里就是安装好了。

最后我们来安装openmpi

OpenMPI是一个开源的消息传递接口(Message Passing Interface,MPI)的实现,用于并行计算。它允许多个计算节点之间进行通信和数据交换,从而实现分布式计算。

这里我们选择的4.1的最新版4.1.6,可以去https://www.open-mpi.org/software/ompi/v4.1/下载

wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.6.tar.gz
tar -zxvf openmpi-4.1.6.tar.gz
mkdir -p /usr/local/openmpi
cd openmpi-4.1.6
./configure  --prefix=/usr/local/openmpi
make && make install
vi /etc/profile
export PATH=/usr/local/openmpi/bin:$PATH
source /etc/profile

然后简单测试下mpi,在examples目录里面有一个hellow.c的c源文件,我们通过mpi接口对其进行编译,然后用来测试

mpicc  hello_c.c -o hellow
mpirun --allow-run-as-root -np 4 ./hellow

--allow-run-as-root: 这个选项允许mpirun以root用户身份运行。通常,出于安全考虑,mpirun不允许以root用户身份运行。

-np: 表示number of processors, 即进程数,根据自己需要进行修改,最后打印如下:

微信截图_20240604103950.png

打印如上述结果说明mpi安装成功


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/990.html