要在CentOS上使用GCC编译器支持CUDA加速,你需要安装NVIDIA CUDA Toolkit和相应的驱动程序。以下是详细步骤:
首先,确保你的系统上安装了兼容的NVIDIA显卡驱动程序。你可以从NVIDIA官方网站下载并安装最新的驱动程序。
# 添加EPEL仓库
sudo yum install epel-release
# 安装NVIDIA驱动程序
sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
sudo yum install nvidia-driver-latest-dkms
重启系统以应用驱动程序:
sudo reboot
从NVIDIA官方网站下载适用于CentOS的CUDA Toolkit安装包,并按照说明进行安装。
# 下载CUDA Toolkit安装包(假设下载的是cuda_11.8.0_515.43.04_linux.run)
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_515.43.04_linux.run
# 运行安装程序
sudo sh cuda_11.8.0_515.43.04_linux.run
# 按照提示完成安装
在安装过程中,选择需要的组件,通常情况下,选择安装CUDA Toolkit和驱动程序即可。
安装完成后,需要配置环境变量以便GCC能够找到CUDA库和头文件。
编辑~/.bashrc文件,添加以下内容:
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使环境变量生效:
source ~/.bashrc
使用GCC编译CUDA程序时,需要指定CUDA头文件和库文件的路径。假设你的CUDA源文件名为example.cu,可以使用以下命令进行编译:
gcc -o example example.cu -I/usr/local/cuda-11.8/include -L/usr/local/cuda-11.8/lib64 -lcudart
编译完成后,可以使用以下命令运行CUDA程序:
./example
以下是一个简单的CUDA示例代码,用于验证CUDA是否正常工作:
#include <stdio.h>
__global__ void helloCUDA() {
printf("Hello from CUDA!\n");
}
int main() {
helloCUDA<<<1, 1>>>();
cudaDeviceSynchronize();
return 0;
}
保存为hello.cu,然后使用以下命令编译和运行:
gcc -o hello hello.cu -I/usr/local/cuda-11.8/include -L/usr/local/cuda-11.8/lib64 -lcudart
./hello
如果一切正常,你应该会看到输出:
Hello from CUDA!
通过以上步骤,你可以在CentOS上使用GCC编译器支持CUDA加速。