查找CUDA_SDK_根目录
我正在尝试设置启用CUDA选项的主干构建 我相信我已经正确安装了CUDA,如下所示 在PCL生成的cmake选项中,某些选项无法识别:查找CUDA_SDK_根目录,cuda,cmake,point-clouds,point-cloud-library,Cuda,Cmake,Point Clouds,Point Cloud Library,我正在尝试设置启用CUDA选项的主干构建 我相信我已经正确安装了CUDA,如下所示 在PCL生成的cmake选项中,某些选项无法识别: 是否可以手动将CUDA\u SDK\u ROOT\u DIR设置为?同样,对于其他未找到的选项。CUDA_SDK_ROOT_DIR应设置为安装NVIDIA的GPU计算SDK的方向。GPU计算SDK可从下载CUDA的NVIDIA的同一页面下载。默认情况下,此SDK将安装到$HOME/NVIDIA\u GPU\u Computing\u SDK。适当地设置它,然后
是否可以手动将
CUDA\u SDK\u ROOT\u DIR
设置为?同样,对于其他未找到的选项。CUDA_SDK_ROOT_DIR
应设置为安装NVIDIA的GPU计算SDK的方向。GPU计算SDK可从下载CUDA的NVIDIA的同一页面下载。默认情况下,此SDK将安装到$HOME/NVIDIA\u GPU\u Computing\u SDK
。适当地设置它,然后重新运行cmake
编辑:
CUDA_SDK_ROOT_DIR
变量实际上是在查找包含您正在使用的CUDA版本的$HOME/NVIDIA_GPU_Computing_SDK
下的子目录。对我来说,这是$HOME/NVIDIA\u GPU\u Computing\u SDK/CUDA/v4.1
的源代码提供了有关如何找到此路径的一些提示:
########################
# 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环境变量设置是否正确。在Linux机器上,。。
将“$ENV{HOME}/NVIDIA_GPU_Computing_SDK/C”添加到FindCUDA.cmake模块中的“查找路径”选项:(usr/share/cmake-2.8/Modules/FindCUDA.cmake)
cmake现在会自动找到我的4.0 SDK。但是我的身体仍然找不到cutil.h,即使它在那里$HOME/NVIDIA_GPU_Computing_SDK/C/common/inc/cutil.h。我必须为项目添加一个include标志,以使其最终工作。CUDA_NVCC_标志:-I/home/bill/NVIDIA_GPU_Computing_SDK/C/common/inc
注意:-I/$HOME/NVIDIA_GPU_Computing_SDK/C/common/inc不起作用。(env$HOME设置正确。)我对您正在构建的项目没有任何经验,但对于CUDA_SDK_ROOT_DIR,请将其设置为SDK安装程序将其内容写入的目录,如果您接受默认选项,通常是您的主目录。我认为您可以安全地忽略其他未设置的选项,它们应用于运行时API的现已弃用和删除的CUDA设备仿真功能。正如我所知,CUDA_SDK_ROOT_DIR是由系统变量获取的(不是由FindCuda设置的)。因此,如果您不想通过系统变量设置它,您可以为cmake设置它。此默认值是正常值,c CUDA可以使用它。7.5中不再是这种情况?
########################
# 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"
)