Visual Studio 2017 和 NVidia CUDA 的 C++ 編譯器?

Visual Studio 2017 和 NVidia CUDA 的 C++ 編譯器?

我正在嘗試設定 PyTorch 來運行我筆記型電腦上的 GTX 1050 GPU。之後我嘗試設定 CUDA,我一直遵循以下設定的指南英偉達在這裡。據我所知,我對此沒有任何問題。我可以nvcc -V按照我的預期運行並到達以下位置:

在此輸入影像描述

當我嘗試運行他們提供的範例解決方案以確保安裝成功時 - 即nvcc displayQueuenvcc bandwidth我只收到以下錯誤:

在此輸入影像描述

接下來,我嘗試下載 Visual Studio 2017 的社群版本以獲得 C++ 編譯器和「cl.exe」。執行此操作後,安裝似乎沒有在環境變數中設定編譯器“cl.exe”的路徑。

嘗試在我的檔案中尋找“cl.exe”似乎是另一個問題,因為我在以下路徑下有多個“cl.exe”:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx86\x86
\...\bin\Hostx86\x64
\...\bin\Hostx64\x64
\...\bin\Hostx64\x86

在我的環境變數中將這些路徑之一設為 PATH,然後再次執行“nvcc displayQueue”或“nvcc band”,然後只會給出錯誤:

在此輸入影像描述

有些東西發生了變化,但係統似乎不起作用。
任何幫助是極大的讚賞。

答案1

僅設定cl.exe路徑不會生效,還需要其他工具。官方的方法是使用開發者命令提示符僅隨 Visual Studio 提供。

根據:

嘗試搜尋命令提示字元檔案的名稱,例如 VsDevCmd.bat,或前往 Tools 資料夾,例如 C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools(路徑根據您的Visual Studio 版本、版本和安裝位置)。

開啟命令提示字元 (CMD) 窗口,執行以下命令:

call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 

這將為您設定所有必需的路徑。此x64參數僅適用於 64 位元 Intel CPU。將該參數更改x86為 32 位元 Intel CPU。或armarm64。該路徑可能會根據您的 Visual Studio 版本而變化。不要關閉該 CMD 視窗。您也可以使用命令檢查路徑(如果設定正確)where cl.exe。現在運行所需的命令進行編譯。

筆記:如果您只需要 C++ 編譯器,請嘗試VS建置工具視窗軟體開發工具包僅有的。

答案2

您首先需要使用問題部分中的方法找出您的 GPU 詳細信息,即deviceQuery根據https://forums.developer.nvidia.com/t/what-is-the-compute-capability-of-a-geforce-gt-710/146956/4:

deviceQuery executable你的 CUDA 安裝的演示套件中應該有一個。在 Windows 上,它應該位於 中C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\vX.Y\extras\demo_suite,其中 XY 指定您的 CUDA 版本,例如 10.2。 deviceQuery 將告訴您裝置的運算架構:CUDA 功能主要/次要版本 數位

現在看看如何在 Windows 10 上使用 anaconda 提示字元從來源安裝 pytorch(為舊 GPU 的已棄用的 CUDA cc 3.5 啟用 cuda)?答案有第3點到第5點。核心基本上是第 3 點,即帶有綠色箭頭的表格。查一下原來的那個表https://gist.github.com/ax3l/9489132再次並以與第 3 點相同的方式做出決定。

表格將向您展示如何為 GPU SM Arch 的正確 CUDA 編譯器驅動程式選擇正確的 MSVC 編譯器(例如 CUDA cc [= 運算能力] 3.5、CUDA cc 8.0 或您的卡提供的任何版本)。

如果您需要從原始程式碼安裝帶有 cuda 的 pytorch,因為官方 pytorch 安裝程式可能不再支援您的卡(我在您的問題中讀到了這一點),那麼整個答案應該與此處的答案相關。

相關內容