cuda nsight:生成调试符号:-G0

时间:2014-09-25 12:08:05

标签: visual-studio-2010 cuda nsight

我已经使用visual studio 2010在Windows 7上下载并安装了CUDA 6.5。

我们假设我从SDK(visual studio 2010)构建了一个示例CUDA代码。

我如何知道我使用的是哪个编译器?

另外,我如何确保我用来编译CUDA C的CUDA工具包 代码必须支持以下用于生成调试符号的开关:-G0

提到here并引用如下:

  

CUDA工具包:为了使用NVIDIA Nsight工具的项​​目,   我们建议您使用工具附带的编译器。该   此版本编译器的默认安装目录为:

     

C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA

     

编译器位于由其版本标记的子目录中,例如:   ... \\ BIN \ nvcc.exe

     

NVIDIA Nsight工具在此版本的编译器中效果最佳。   但是,这些工具也适用于标准工具包。任何   您使用的编译器,用于编译CUDA C的CUDA工具包   代码必须支持以下开关以生成调试符号:   -G0

1 个答案:

答案 0 :(得分:2)

您引用的注释已过时,应该更新。

Visual Studio C ++构建系统通过在vcxproj中包含CUDA props文件而扩展为支持CUDA。例如,在6.5个样本中,您应该找到

部分
<PropertyGroup>
    <CUDAPropsPath Condition="'$(CUDAPropsPath)'==''">$(VCTargetsPath)\BuildCustomizations</CUDAPropsPath>
</PropertyGroup>

<ImportGroup Label="ExtensionSettings">
    <Import Project="$(CUDAPropsPath)\CUDA 6.5.props" />
</ImportGroup>

<ImportGroup Label="ExtensionTargets">
    <Import Project="$(CUDAPropsPath)\CUDA 6.5.targets" />
</ImportGroup>

VCTargetsPath的默认位置是

  

c:\ Program Files(x86)\ MSBuild \ Microsoft.Cpp \ v4.0 [VSver] \ BuildCustomizations

如果你打开&#34; CUDA 6.5.props&#34;文件,你可以看到如何确定工具包的位置。

<PropertyGroup>
    <!-- Check CUDA Toolkit versioned environment variable. -->
    <CudaToolkitDir Condition="'$(CudaToolkitDir)' == ''">$(CUDA_PATH_V6_5)</CudaToolkitDir>

    <!-- Last, check the new CUDA Toolkit style/Nsight toolkit registry value. -->
    <CudaToolkitDir Condition="'$(CudaToolkitDir)' == ''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\GPU Computing Toolkit\Cuda\$(CudaToolkitVersion)', 'InstallDir', null, RegistryView.Registry64, RegistryView.Registry32))</CudaToolkitDir>

    <!-- Ensure $(CudaToolkitDir) has a trailing backslash. -->
    <CudaToolkitDir Condition="'$(CudaToolkitDir)' != '' AND !HasTrailingSlash('$(CudaToolkitDir)')">$(CudaToolkitDir)\</CudaToolkitDir>

    <CudaToolkitIncludeDir Condition="'$(CudaToolkitIncludeDir)' == ''">$(CudaToolkitDir)include</CudaToolkitIncludeDir>
</PropertyGroup>

在VXCPROJ中切换工具包

在vcxproj中修改CUDA中的版本号。{props,targets}行并重新加载项目。

在VS中切换工具包

在Visual Studio中打开解决方案资源管理器。 在Solution Explorer中,右键单击项目节点并执行&#34; Build Customization&#34; 在Visual C ++生成自定义文件中,检查正确的目标。

覆盖工具包位置

如果您有使用安装程序未安装的CUDA工具包版本,则可以通过

覆盖默认位置

一个。设置工具包环境变量。例如,设置CUDA_PATH_V6_5或

湾覆盖vcxproj中的CudaToolkitDir设置,或

℃。在VS的项目属性页面中更改CUDA C / C ++ | CUDA Toolkit Custom Dir。