【问题标题】:Trying to run CUDA sample from fresh install simply prints " make: Nothing to be done for `all' "尝试从全新安装运行 CUDA 示例只需打印“make: Nothing to be done for `all'”
【发布时间】:2015-12-14 23:07:29
【问题描述】:

尝试在 Ubuntu 14.04 上构建 CUDA 7.5 示例我完全迷失了方向!请记住我对makefile之类的东西非常陌生。

问题:

我更改目录并运行“deviceQuery”示例:

cd NVIDIA_CUDA-7.5_Samples/1_Utilities/deviceQuery

制作

但是shell只是打印

make: `all' 无事可做。

我尝试过的:

我尝试全新安装 Ubuntu,通过编辑 .bashrc 将 CUDA 添加到我的路径,然后再次运行命令。为每个样本打印相同的消息。

我已经安装了 MPI:

sudo apt-get install libcr-dev mpich2 mpich2-doc

我已经浏览了 SO,并且此消息的所有问题都与提问者的代码有关。我怀疑我的问题是代码,因为它是来自 NVIDIA 的库存。我确实尝试在 makefile 中将空格转换为制表符,但没有任何改变。

由于消息简洁,我似乎无法在互联网上找到任何有用的 cmets;任何答案都将不胜感激,因为我真的被困住了。

提前致谢!

【问题讨论】:

  • 您计算机上的时间/日期设置是否正确?您可能想尝试make clean,然后是make。另请注意,installation guide 建议从示例目录运行make,尽管我认为您的方法应该有效。
  • 日期确实正确;运行您在 deviceQuery 目录中说的两个命令给我: rm -f deviceQuery deviceQuery.o rm -rf ../../bin/x86_64/linux/release/deviceQuery 后跟:“/usr/local/cuda-7.5 "/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode .... 之后运行 make相同的消息
  • 看起来 make clean 首先应该让您继续前进。无论出于何种原因,样本似乎已经构建,因此make 报告“无事可做”是正确的。我建议上两级到主样本目录,然后从那里发出make clean,然后是make -k。这可能需要一些时间。完成之后,应该构建所有可以构建的示例。然后,您可以按照我之前链接的安装指南中的说明运行这些示例。 但是在样本已经构建后发出make,不会重新制作任何东西
  • 如果您在 deviceQuery 目录中,并且您发出 make 并报告“无事可做”,那么最可能的原因是 deviceQuery 示例已经构建。 make 在这种情况下不会重建已经构建的示例(例如,除非您对源代码进行更改)。为了证明这一点,您应该尝试运行有问题的示例。例如,在 deviceQuery 目录中,尝试发出命令./deviceQuery。如果 deviceQuery 示例运行,则意味着它实际上已经构建。
  • 感谢您这么及时!我现在意识到我误解了“make”的含义。 make 创建二进制文件,但它仍必须运行。当我是 root 时,二进制文件确实运行。

标签: ubuntu cuda makefile ubuntu-14.04 nvidia


【解决方案1】:

CUDA Sample codes 可以通过在示例目录之一或主目录中发出make 命令来构建。

make 在这种情况下只是编译指定的代码。它不运行任何已编译的代码。此外,在典型用法中,make 不会重建已构建的代码,除非您随后编辑 Makefile 跟踪的文件。如果make 确定所有代码都已构建、最新且不需要重新编译,它将发出典型的“无事可做...”消息。

要运行代码,使用make构建后,可以直接运行代码,如installation guide所示,例如:

./deviceQuery

(如果您在deviceQuery 目录中,或者在示例.../bin 目录中)

如果您从主目录构建所有示例代码,我经常建议使用make -k 而不是make。这将导致make 继续,即使其中一个代码无法构建,例如由于缺少依赖项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-04
    • 2022-11-04
    • 2017-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-17
    相关资源
    最近更新 更多