【发布时间】: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