CUDA工具包和CUDA sdk有什么区别

时间:2015-01-27 17:10:59

标签: cuda gpgpu nvidia

我在Ubuntu 14.04上安装CUDA并有一个Maxwell卡(GTX 9 **系列),我想我已经用工具包正确安装了所有东西,因为我可以编译我的样本。但是,我在那些我应该安装SDK的地方读到了(这似乎是与sdk 4讨论过的)。我不确定工具包和sdk是否不同?因为我有一个后来的9系列卡,这是否意味着我有CUDA 6运行?这是我的nvcc版本

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2014 NVIDIA Corporation
Built on Wed_Aug_27_10:36:36_CDT_2014
Cuda compilation tools, release 6.5, V6.5.16

我正在关注一本书,我需要添加<cutil.h>,但我无法在我安装的任何地方找到该文件。

我遵循了nvidia提供的指南,因为我已经做了他们所说的这就是为什么我感到困惑http://developer.download.nvidia.com/compute/cuda/6_5/rel/docs/CUDA_Getting_Started_Linux.pdf

感谢您的帮助

1 个答案:

答案 0 :(得分:4)

CUDA Toolkit是一个包含不同组件的软件包。主要内容是:

  1. CUDA SDK(编译器,NVCC,用于开发CUDA软件的库和CUDA样本)
  2. GUI工具(例如适用于Linux / OS X的Eclipse Nsight或适用于Windows的Visual Studio Nsight)
  3. Nvidia Driver(驾驶卡的系统驱动程序)
  4. 它还有许多其他组件,如CUDA调试器,分析器,内存检查器等。

    您能够编译和运行示例意味着您可能已完全安装了Toolkit并至少拥有SDK,驱动程序和示例。

    对于cutil.h,使用find -L . -iname "cutil.h"在我的CUDA 6.5安装中进行搜索没有产生任何结果。另外在SO上查看其他相关问题,似乎这个头文件不再存在于CUDA安装中(自CUDA 5.0起)。但是,查看示例,您可以找到一些较新的实用程序标头,例如helper_cuda.h正在使用中。像这样的助手应该位于操作系统中/usr/local/cuda/samples/common/inc之类的某个位置。 helper_cuda.h是我几乎总是包含在我的CUDA程序中的标题,因为我发现checkCudaErrors()等实用函数非常有用。

    如果你关注一本书,我的推荐是;尝试编译代码,每当您收到错误说实用程序函数丢失时,请在grep中包含的头文件中进行samples/common/inc搜索。您很可能会在那里找到缺少的实用程序函数,然后您可以相应地包含必要的标题。