VScode配置cuda開發(fā)環(huán)境的實(shí)現(xiàn)步驟
因?yàn)檎n程學(xué)習(xí)需要,配置英偉達(dá)的cuda環(huán)境做高性能計(jì)算的測(cè)試。
1.cuda的安裝
首先要去英偉達(dá)的官網(wǎng)下載安裝cuda,安裝路徑可以自由選擇,但是為了方便操作建議直接全部默認(rèn)安裝。

可以現(xiàn)在命令行執(zhí)行nvidia-smi.exe查看目前顯卡支持的最高cuda版本,右上角的cuda version就是我們要確認(rèn)的版本,下載的cuda不應(yīng)該比這個(gè)版本新。
cuda下載入口:CUDA Toolkit 12.1 Update 1 Downloads | NVIDIA Developer
進(jìn)去后選擇對(duì)應(yīng)的平臺(tái)和版本
2.檢查環(huán)境配置
正常情況下安裝完成后是會(huì)自動(dòng)配置環(huán)境變量的,但是為了保險(xiǎn)我們還是去命令行看一下

執(zhí)行nvcc -V,若可以正常顯示版本號(hào)等信息,說明正常安裝。
3.配置vscode
cuda編程用的是.cu文件,我這里為了操作簡(jiǎn)單用了coderunner插件,配置.cu文件的編譯

點(diǎn)擊小齒輪選擇擴(kuò)展設(shè)置

我們直接在settings.json中編輯
在"code-runner.executorMap": {}中加入cu文件的編譯語(yǔ)句
"cu": "cd $dir; nvcc $fileName -o $fileNameWithoutExt.exe -I'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\include\\CL' && $dir$fileNameWithoutExt", //請(qǐng)?jiān)O(shè)置和你的安裝路徑一致的地址
然后我們?cè)?cu文件的右上角點(diǎn)擊運(yùn)行符號(hào)選擇用coderunner運(yùn)行
下面是一個(gè)測(cè)試小程序
#include <iostream>
#include <math.h>
__global__
void add(int n, float *x, float *y)
{
for (int i = 0; i < n; i++)
y[i] = x[i] + y[i];
}
int main(void)
{
int N = 1<<25;
float *x, *y;
cudaMallocManaged(&x, N*sizeof(float));
cudaMallocManaged(&y, N*sizeof(float));
for (int i = 0; i < N; i++) {
x[i] = 1.0f;
y[i] = 2.0f;
}
add<<<1, 1>>>(N, x, y);
cudaDeviceSynchronize();
float maxError = 0.0f;
for (int i = 0; i < N; i++)
maxError = fmax(maxError, fabs(y[i]-3.0f));
std::cout << "Max error: " << maxError << std::endl;
cudaFree(x);
cudaFree(y);
return 0;
}正常運(yùn)行結(jié)果如下

這里可能會(huì)返回一個(gè)錯(cuò)誤,大意是在path找不到cl.exe
如果是這個(gè)情況我們可以添加一個(gè)path系統(tǒng)環(huán)境變量
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\Hostx64\x64 //注意這里要找到你電腦上的visual studio安裝路徑,找到這個(gè)文件,bin目錄下面可能有兩個(gè)文件夾,但是cuda運(yùn)行一定要選擇x64
然后重啟你的vscode,再用coderunner就能正常運(yùn)行啦
到此這篇關(guān)于VScode配置cuda開發(fā)環(huán)境的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)VScode配置cuda環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語(yǔ)言實(shí)現(xiàn)旅游資訊管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)旅游資訊管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03
理解C++編程中的std::function函數(shù)封裝
這篇文章主要介紹了理解C++編程中的std::function函數(shù)封裝,std::function是C++11標(biāo)準(zhǔn)中的新特性,需要的朋友可以參考下2016-04-04
C++ 基礎(chǔ)編程之十進(jìn)制轉(zhuǎn)換為任意進(jìn)制及操作符重載
這篇文章主要介紹了C++ 基礎(chǔ)編程之十進(jìn)制轉(zhuǎn)換為任意進(jìn)制及操作符重載的相關(guān)資料,需要的朋友可以參考下2017-02-02
Windows配置VSCode+CMake+Ninja+Boost.Test的C++開發(fā)環(huán)境(教程詳解)
這篇文章主要介紹了Windows配置VSCode+CMake+Ninja+Boost.Test的C++開發(fā)環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之學(xué)生信息管理系統(tǒng)課程設(shè)計(jì)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)之學(xué)生信息管理系統(tǒng)課程設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
C語(yǔ)言學(xué)習(xí)之函數(shù)知識(shí)總結(jié)
函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語(yǔ)句。每個(gè)?C?程序都至少有一個(gè)函數(shù),即主函數(shù)?main()?,所有簡(jiǎn)單的程序都可以定義其他額外的函數(shù)。本文就為大家詳細(xì)講講C語(yǔ)言中函數(shù)的相關(guān)知識(shí)點(diǎn),希望有所幫助2022-07-07

