【问题标题】:How to compile CUDA SDK Sample?如何编译 CUDA SDK 示例?
【发布时间】:2013-04-03 23:25:56
【问题描述】:

我未能编译共轭梯度求解器。我下载了包含库、makefile 和其他东西的整个档案,但编译器缺少一些头文件。如何包含我下载的所有文件?也许我需要添加一些路径或将文件夹“common”复制到/usr/local/cuda/include/

【问题讨论】:

  • 你的机器上安装了 cuda 5 吗?通常样本安装在/usr/local/cuda/samples,如果你有root访问权限,编译应该很容易,你应该可以去那个目录并输入make。如果您安装了正确的 cuda 5,则必要的包含路径应​​该已经在 Makefile 中。如果您阅读了getting started guide 的“验证安装”部分,它会讨论如何制作所有示例,即使没有 root 访问权限。
  • 是的,我有 CUDA 5.0,但 /usr/local/cuda/ 没有文件夹“samples”
  • 您安装了 cuda 还是其他人安装了?可能最简单的方法是重新安装 cuda 5 并在提示安装示例时选择“是”,而不是“否”。或者它们可能安装在其他路径。

标签: sdk cuda


【解决方案1】:

要直接下载和构建 cuda 示例,以下步骤对我有用:

wget http://developer.download.nvidia.com/compute/DevZone/CUDALibraries/Projects/x64/conjugateGradient.tar.gz
tar -xzvf conjugateGradient.tar.gz
cd 7_CUDALibraries/conjugateGradient
make
# to execute the program:
./conjugateGradient

这假设标准 cuda 5 安装在 /usr/local/cuda 可用。 它不假定以前安装了任何示例。 我在一台装有 CUDA 5 和 RHEL 5.5 的机器上对此进行了测试

如果这不起作用,请发布您收到的错误输出的详细信息。

如果您想使用此处给出的示例以外的其他示例,可以获取下载链接here

【讨论】:

  • 我遵循了所有步骤,但它给了我:max@max-Lenovo-G560:~/7_CUDALibraries/conjugateGradient$ make g++ -m32 -I/usr/local/cuda/include -I。 -I.. -I../../common/inc -o main.o -c main.cpp 在 /usr/local/cuda/include/deal.II/base/memory_consumption.h:17 包含的文件中: 0,来自/usr/local/cuda/include/helper_functions.h:19,来自main.cpp:29:/usr/local/cuda/include/deal.II/base/std_cxx1x/shared_ptr.h:32:32:致命错误:boost/shared_ptr.hpp:此文件不存在
  • 实际上,我尝试修改代码以避免使用 cudaCheckErrors 和所有与 GPU 设备统计相关的东西。现在它编译正确
  • /usr/local/cuda/include/deal.ll 是什么?我没有那个。它不是 cuda 5 的一部分。此外,构建应该从 ../../common/inc 而不是从 /usr/local/cuda/include 获取 helper_functions.h。 CUDA 5 在/usr/local/cuda/include 中没有helper_functions.h。你有一个奇怪的 CUDA 5 设置。
猜你喜欢
  • 2011-09-29
  • 2011-03-04
  • 2011-02-21
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 1970-01-01
  • 2021-11-01
  • 1970-01-01
相关资源
最近更新 更多