2014-11-20 45 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

相關問題