2014-12-23 83 views
-3

剛剛升級到CUDA v6.5並在Win 7下安裝了Visual Studio 2013社區。現在用於在CUDA 6.0和VS 2008中編譯的代碼現在失敗了,因爲這個神祕的消息,cuda v6.5 nvcc與VS 2013失敗,神祕msg

「文件名,目錄名稱或卷標語法不正確。」

這甚至不是編譯器錯誤消息。所以想知道什麼是錯的?

編譯命令是

nvcc -gencode arch=compute_30,code=sm_30 tt-log-limit.cu -lcublas -lcurand -o lgl

我的配置是從平常的,我在那裏安裝了F盤上都CUDAVS 2013 Community,如能在我的PATH可以看出有點不同,

PATH=F:\Programs\NVIDIA GPU Computing Toolkit\CUDA\v6.5\bin;F:\Programs\NVIDIA GPU Computing Toolkit\CUDA\v6.5\libnvvp;;C:\Program Files\Haskell\bin;F:\Programs\Haskell\2014.2.0.0\lib\extralibs\bin;F:\Programs\Haskell\2014.2.0.0\bin;C:\Rtools\gcc-4.6.3\bin;C:\Rtools\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Anaconda;C:\Anaconda\Scripts;C:\Program Files\MATLAB\R2011b\runtime\win64;C:\Program Files\MATLAB\R2011b\bin;F:\Chome;C:\Program Files (x86)\Java\jre7\bin;C:\ProgramData\Oracle\Java\javapath;F:\Programs\Haskell\2014.2.0.0\mingw\bin;C:\libgsl-1.8\lib;C:\libgsl-1.8\include;C:\libgsl-1.8\bin;C:\Program Files\Microsoft Windows Performance Toolkit\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;F:\Programs\nodejs\;F:\Programs\MSVS13\VC\bin\amd64;F:\Programs\MSVS13\VC\bin;C:\MikTex\miktex\bin\;C:\Users\rspace\AppData\Local\Programs\Git\cmd;C:\Users\rspace\AppData\Roaming\npm

nvcc和cl的版本如下所示:

NVCC:NVIDIA(R)Cuda的編譯器驅動程序 版權所有(C)2005-2014 NVIDIA公司 建立在Fri_Jul_25_06:28:08_CDT_2014 Cuda的彙編工具,6.5版,V6.5.13

微軟(R)C/C++優化編譯器版本18.00.31101 for x64 版權所有(C)Microsoft Corporation。版權所有。

+1

從描述並不清楚什麼應用程序發出在什麼時候這個錯誤,所以這可能沒有什麼關係CUDA的。此錯誤消息通常表示路徑規範中存在多餘的空格或不允許的字符。它可能* *由於多餘的第二個分號這裏:'F:\程序\ NVIDIA GPU計算工具包\ CUDA \ V6.5 \ libnvvp ;;' – njuffa

+0

剛纔檢查,雙;;不是罪魁禍首。 – horaceT

+2

問題中提供的信息太少,無法診斷可能發生的事情,甚至不清楚這是否與CUDA相關(「甚至不是編譯器錯誤消息」)。如果沒有可以重現該行爲的MCVE,我將投票結束。 – njuffa

回答

1

我找到了解決,幾輪進行卸載,重啓後。正如其他地方所觀察到的,CUDA有一些硬編碼的路徑,所以Visual Studio的位置很重要。

我完全刪除了CUDA v6.5和VS 2013,並重新安裝了它們。這一次,我讓他們把他們在C驅動器上的默認位置。所以,CUDA安裝在

C:\ Program Files文件\ NVIDIA GPU計算工具包\ CUDA \ V6.5

和VS在

C:\ Program Files文件(x86)的\微軟的Visual Studio 12.0

這解決了這個問題。我的.cu代碼編譯沒有小故障。

+0

因此,對於在IDE下一起工作的CUDA v9.1.85和MSVS2017/15.4.5,此修補程序不起作用。至少:我把它們安裝在他們的默認目錄中。 – JHBonarius

+0

@JHBonarius嘗試在命令行上編譯,看看是否有幫助。 – horaceT

+0

修復了它。但是,無論如何感謝;) – JHBonarius