如何设置 CUDA_PATH 和 CUDA_TOOLKIT_ROOT_DIR
在配置 CUDA 支持的 CMake 项目时,设置 CUDA_PATH
和 CUDA_TOOLKIT_ROOT_DIR
环境变量可以帮助 CMake 定位 CUDA 工具链的安装位置。这些环境变量通常在 CUDA 工具链没有安装在标准路径或 CMake 无法自动检测到 CUDA 时使用。
以下是如何设置这些环境变量的步骤:
Windows 系统
找到 CUDA 安装目录: 首先,确定你的 CUDA 工具链安装在哪里。通常,CUDA 工具链会安装在类似于
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X
的路径下,其中XX.X
是 CUDA 的版本号。设置环境变量:
- 打开“控制面板” -> “系统” -> “高级系统设置” -> “环境变量”。
- 在“系统变量”部分,点击“新建”。
- 对于
CUDA_PATH
,输入变量名CUDA_PATH
,并在变量值中输入你的 CUDA 安装目录的路径(例如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vXX.X
)。 - 对于
CUDA_TOOLKIT_ROOT_DIR
,同样输入变量名CUDA_TOOLKIT_ROOT_DIR
,并在变量值中输入相同的路径。 - 点击“确定”保存设置。
重新打开命令行: 在设置了环境变量之后,你需要重新打开命令行窗口或重启你的计算机,以使新的环境变量生效。
Linux 或 macOS 系统
找到 CUDA 安装目录: 通常,CUDA 会安装在
/usr/local/cuda
或/opt/cuda
路径下,具体取决于你的安装选项。你可以使用ls
命令来检查这些目录。编辑你的 shell 配置文件:
- 对于 Bash shell,编辑
~/.bashrc
或~/.bash_profile
文件。 - 对于 Zsh shell,编辑
~/.zshrc
文件。
- 对于 Bash shell,编辑
添加环境变量: 在配置文件的末尾添加以下行来设置环境变量(假设 CUDA 安装在
/usr/local/cuda
):export CUDA_PATH=/usr/local/cuda export CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda
保存并关闭文件。
使配置生效: 在你的终端中运行
source ~/.bashrc
(或相应的配置文件),或者重新打开一个新的终端窗口,以使新的环境变量设置生效。
在 CMakeLists.txt 中使用这些变量
一旦你在系统级别设置了这些环境变量,CMake 应该能够在配置时自动检测到它们。但是,你也可以在 CMakeLists.txt 文件中直接使用这些变量来指定 CUDA 工具链的路径:
set(CUDA_TOOLKIT_ROOT_DIR $ENV{CUDA_TOOLKIT_ROOT_DIR})
set(CUDA_PATH $ENV{CUDA_PATH})
find_package(CUDA REQUIRED)
这样,CMake 会使用你在环境变量中指定的路径来查找 CUDA 工具链。请注意,通常优先使用 find_package(CUDA)
来自动定位 CUDA,如果 CMake 无法自动检测到它,再考虑使用环境变量作为备选方案。