VScode+cuda編程常見環(huán)境問題的解決
1、VScode終端問題(PS)
問題描述:
在VScode下打開終端執(zhí)行nvcc指令,發(fā)現(xiàn)執(zhí)行不了,但是在外部終端powershell和cmd都可以。發(fā)現(xiàn)PS問題
問題現(xiàn)象:
PS D:\CUDA_test> nvcc -arch=sm_80 -o hello-gpu hello-gpu.cu -run
nvcc : 無法將“nvcc”項識別為 cmdlet、函數(shù)、腳本文件或可運行程序的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然后再試一次。
所在位置 行:1 字符: 1+ nvcc -arch=sm_80 -o hello-gpu hello-gpu.cu -run+ ~~~~+ CategoryInfo : ObjectNotFound: (nvcc:String) [], CommandNotFoundException+ FullyQualifiedErrorId : CommandNotFoundException
問題解決:
重啟電腦,在終端打開command prompt,發(fā)現(xiàn)就去掉前面PS了,執(zhí)行指令成功。
2、編譯問題(CUDA版本過低)
問題描述:終端能執(zhí)行但是編譯不成功。
問題現(xiàn)象:
fatal error C1189: #error: STL1002: Unexpected compiler version, expected CUDA CUDA 10.1
問題解決:
CUDA版本太低,本人把CUDA10.1卸載后重新裝了CUDA11.1,發(fā)現(xiàn)成功了。
補充:查看自己電腦的CUDA驅(qū)動版本
右擊nvidia控制面板->幫助->系統(tǒng)信息->組件
如圖,本人電腦CUDA支持11.6之前的。
3、nvcc編譯問題(arch架構(gòu))
nvcc編譯cuda程序一般執(zhí)行下面指令:
nvcc -arch=sm_80 -o hello-gpu hello-gpu.cu -run
一般可以縮寫成
nvcc -o hello-gpu hello-gpu.cu -run
推薦使用第二種,因為可以自動適配CUDA架構(gòu)。
其中-arch=sm_80含義:
先查看自己電腦顯卡型號,如本人是RTX3060,百度搜得架構(gòu)是Ampere,根據(jù)英偉達官方架構(gòu)對應(yīng)表可以得知sm_80/86/87
https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#gpu-feature-list
到此這篇關(guān)于VScode+cuda編程常見環(huán)境問題的解決的文章就介紹到這了,更多相關(guān)VScode cuda常見環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++中的構(gòu)造函數(shù)與析造函數(shù)詳解
這篇文章主要介紹了C++中的構(gòu)造函數(shù)與析造函數(shù)詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06C 語言實現(xiàn)一個簡單的 web 服務(wù)器的原理解析
這篇文章主要介紹了C 語言實現(xiàn)一個簡單的 web 服務(wù)器的原理解析,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11C++?如何將Lambda轉(zhuǎn)換成函數(shù)指針
這篇文章主要介紹了C++?如何將Lambda轉(zhuǎn)換成函數(shù)指針,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11