2014-11-20 28 views
0

我的问题是我无法编译CUDA示例。我相信我已经正确安装了CUDA 4.0(我需要旧版本的B/C,我试图运行GPGPU-Sim)。我下载了NVIDIA cuda示例,即conjugateGradient。如果我cd到它,并运行Can not make cuda sample:Makefile:36:findcudalib.mk:没有这样的文件或目录

make  

它不工作:

macair93278:7_CUDALibraries r8t$ cd conjugateGradient/ 
macair93278:conjugateGradient r8t$ ls 
Makefile main.cpp 
macair93278:conjugateGradient r8t$ make 
Makefile:36: findcudalib.mk: No such file or directory 
make: *** No rule to make target `findcudalib.mk'. Stop. 

我改变路径,以便运行

nvcc -V 

不会产生一个错误,但给我的版本。所以我认为这是正确的。 感谢您的帮助。 -bb

+0

你有没有在你的系统上的任何地方的文件? makefile是否有任何vpath/VPATH条目,看起来应该是为您找到的? – 2014-11-20 17:33:08

+1

不要自行下载共轭梯度示例(或任何示例)。这是很难做到的。回到您获得CUDA 4.0工具包的同一个nvidia网站,并下载CUDA 4.0 SDK。然后安装,并尝试从那里建立你的样品。您将获得findcudalib.mk以及您需要的所有其他文件和库。当你下载一个这样的单个样本时,如果你已经建立了完整的SDK框架,它真的只能工作。 – 2014-11-20 20:51:51

回答

0

findcudalib.mk丢失是因为您下载的单个样本没有被设计为一个完整的独立样本。它需要一个其他文件的框架,可能还需要围绕它构建其他库。

要解决此问题,请从here下载CUDA 4.0 SDK(GPU计算SDK)。

安装该软件包。一旦你安装了它,并假设你的CUDA安装完好无损,你应该能够更改为顶级目录并发布make。这将构建所有样本。为方便起见,您可能希望发布make -k

+0

谢谢!我下载了旧的(4.0 SDK)和新的(6.5 sdk)版本。现在我在的'make'得到一个不同的错误: 'macair93278:样品r8t $ CD 0_Simple/UnifiedMemoryStreams/ macair93278:UnifiedMemoryStreams r8t $ LS 的Makefile \t \t的Makefile-E \t \t NsightEclipse.xml \t UnifiedMemoryStreams.cu \t自述.txt' 'macair93278:UnifiedMemoryStreams r8t $使 LD:错误:没有找到-lgomp 铛库链接命令退出码1失败(使用-v看到调用)' – travelingbones 2014-11-24 18:26:55

+0

好像你有一个不同的问题现在。 SO不打算成为论坛或聊天室。如果你对另一个问题有新的问题,你应该提出一个新的问题。你能否使用'make -k'成功构建conjugateGradient示例代码? – 2014-11-24 18:33:34

+0

不,我得到这个错误:P谢谢,我会发布一个新的问题。 – travelingbones 2014-11-24 19:09:37

相关问题