3

我正在尝试设置启用了 CUDA 选项的点云库主干构建。

我相信我已经按照这些说明正确安装了 CUDA 。

在 PCL 构建的 cmake 选项中,一些选项无法识别:

在此处输入图像描述

有什么我可以手动设置CUDA_SDK_ROOT_DIR的吗?对于其他未找到的选项也是如此。

4

3 回答 3

3

CUDA_SDK_ROOT_DIR应设置为您安装 NVIDIA 的 GPU 计算 SDK 的方向。可从您下载 CUDA 的 NVIDIA 的同一页面下载 GPU 计算 SDK。默认情况下,此 SDK 将安装到$HOME/NVIDIA_GPU_Computing_SDK. 适当地设置它,然后重新运行 cmake。

编辑:

该变量实际上是在寻找包含您正在使用的 CUDA 版本的CUDA_SDK_ROOT_DIR子目录。$HOME/NVIDIA_GPU_Computing_SDK对我来说,这是$HOME/NVIDIA_GPU_Computing_SDK/CUDA/v4.1.

于 2012-01-06T21:51:34.347 回答
0

FindCUDA.cmake的源代码提供了有关如何找到此路径的一些提示:

########################
# Look for the SDK stuff.  As of CUDA 3.0 NVSDKCUDA_ROOT has been replaced with
# NVSDKCOMPUTE_ROOT with the old CUDA C contents moved into the C subdirectory
find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
  "$ENV{NVSDKCOMPUTE_ROOT}/C"
  "$ENV{NVSDKCUDA_ROOT}"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
  "/Developer/GPU\ Computing/C"
)

即检查 NVSDKCOMPUTE_ROOT 或 NVSDKCUDA_ROOT 环境变量是否设置正确。

于 2012-01-09T22:13:55.467 回答
0

在 Linux 机器上,.. 将"$ENV{HOME}/NVIDIA_GPU_Computing_SDK/C"添加到 FindCUDA.cmake 模块中的 'find_path' 选项: (usr/share/cmake-2.8/Modules/FindCUDA.cmake)

########################
# Look for the SDK stuff.  As of CUDA 3.0 NVSDKCUDA_ROOT has been replaced with
# NVSDKCOMPUTE_ROOT with the old CUDA C contents moved into the C subdirectory
find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
  "$ENV{HOME}/NVIDIA_GPU_Computing_SDK/C"
  "$ENV{NVSDKCOMPUTE_ROOT}/C"
  "$ENV{NVSDKCUDA_ROOT}"
  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
  "/Developer/GPU\ Computing/C"
)

cmake 现在会自动找到我的 4.0 SDK。
但是我的构建仍然找不到cutil.h,即使它在那里。$HOME/NVIDIA_GPU_Computing_SDK/C/common/inc/cutil.h。我必须在项目中添加一个包含标志才能让它最终工作。CUDA_NVCC_FLAGS:-I/ home/bill /NVIDIA_GPU_Computing_SDK/C/common/inc
注意:-I/ $HOME /NVIDIA_GPU_Computing_SDK/C/common/inc不起作用。(环境 $HOME 设置正确。)

于 2012-07-17T19:08:33.470 回答