windows10+visual studio2019配置cuda記錄

1. 可以下載Geforce Experience果覆,將顯卡驅(qū)動(dòng)更新到上面最新

2. 桌面右鍵-->Nvidia控制面板->幫助->系統(tǒng)信息->組件

查看驅(qū)動(dòng)支持的最高cuda版本:


image.png

可以看到我的是11.6.134,所以我可以安裝這個(gè)版本以下的cuda

3. https://developer.nvidia.com/cuda-11-6-1-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local

image.png

下載椭岩,如果想下其他版本绕娘,


image.png

點(diǎn)擊第二個(gè) "Archive of Previous CUDA Release"

注意:這個(gè)文件不用下載到C盤(pán)

4. 雙擊下載好的文件進(jìn)行安裝委可,注意安裝的時(shí)候選擇自定義映皆,然后取消驅(qū)動(dòng)那一項(xiàng)(好像是第二個(gè)),特征是他會(huì)顯示安裝某個(gè)版本驅(qū)動(dòng)厨埋,當(dāng)前版本驅(qū)動(dòng)是xx邪媳, 此時(shí)把這一項(xiàng)取消勾選,繼續(xù)安裝荡陷。建議裝到默認(rèn)的C盤(pán)吧雨效,其實(shí)也不是很大。

5.安裝CUDNN

https://developer.nvidia.cn/rdp/cudnn-archive

image.png

點(diǎn)進(jìn)對(duì)應(yīng)的废赞,我的就是第一個(gè)徽龟,選擇下載帶windows的,是一個(gè)zip文件唉地,這個(gè)不用下載到C盤(pán)
解壓該文件据悔,提取其中的文件夾bin传透,lib,include极颓,分別復(fù)制其中內(nèi)容到“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.x”中的bin,lib/x64,include中.

6.添加環(huán)境變量:

CUDA安裝的時(shí)候是自動(dòng)添加的但是CUDNN不是朱盐,
我的電腦右鍵->屬性->高級(jí)系統(tǒng)設(shè)置->高級(jí)->環(huán)境變量

image.png

編輯,添加下面三個(gè)(最好先打開(kāi)C盤(pán)菠隆,或者自己裝的路徑兵琳,找到這幾個(gè)地址,如果找不到骇径,就下載一個(gè)everything軟件躯肌,用關(guān)鍵字在everything里搜索一下,找到路徑了再粘貼過(guò)去):


image.png

確定->確定(直接關(guān)界面會(huì)不生效)

驗(yàn)證是否安裝成功:

1.win+r -> 輸入cmd進(jìn)入命令行模式破衔,依次輸入(第二行依然建議先找到這個(gè)地址粘貼過(guò)來(lái)):

nvidia-smi
cd C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\extras\demo_suite
deviceQuery.exe
bandwidthTest.exe
image.png

說(shuō)明cuda安裝完成

image.png
image.png

有result=pass 說(shuō)明cudnn成功

7.配置vs:

打開(kāi)一個(gè)空的c++控制臺(tái)


image.png
image.png

換成x64清女,這個(gè)不改好像也沒(méi)事

項(xiàng)目名右鍵->生成依賴(lài)項(xiàng)->生成自定義
勾選CUDA


image.png

項(xiàng)目名右鍵->屬性->

image.png

第一行填寫(xiě)
$(CUDA_PATH)
確定

參考https://www.cnblogs.com/wansuiwht/p/15811478.html
在工程名上點(diǎn)擊右鍵,選擇添加——新建項(xiàng)晰筛。在新建項(xiàng)對(duì)話(huà)框中選擇CUDA11.x嫡丙,在右側(cè)選擇CUDA 11.x C/C++ File 文件名修改為main

image.png

復(fù)制下代碼到main.cu,運(yùn)行

#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <iostream>
__global__ void VecAdd(int* A, int* B, int* C)
{
    int i = threadIdx.x;
    C[i] = A[i] + B[i];
}
int main() {
    const int size = 3;
    int a[size] = { 1,2,3 };
    int b[size] = { 10,20,30 };
    int c[size] = { 0 };
    //定義設(shè)備變量
    int* dev_a = 0;
    int* dev_b = 0;
    int* dev_c = 0;
    //CUDA狀態(tài)
    cudaError_t cudaStatus;
    //選擇GUP
    cudaStatus = cudaSetDevice(0);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "選擇GPU失敗传惠,您的電腦上沒(méi)有GPU");
        return 0;
    }
    //分配GUP內(nèi)存
    cudaStatus = cudaMalloc((void**)&dev_c, size * sizeof(int));
    if (cudaStatus != cudaSuccess)
        fprintf(stderr, "dev_c內(nèi)存分配失敗");
    cudaStatus = cudaMalloc((void**)&dev_a, size * sizeof(int));
    if (cudaStatus != cudaSuccess)
        fprintf(stderr, "dev_a內(nèi)存分配失敗");
    cudaStatus = cudaMalloc((void**)&dev_b, size * sizeof(int));
    if (cudaStatus != cudaSuccess)
        fprintf(stderr, "dev_b內(nèi)存分配失敗");
    //從主機(jī)內(nèi)存復(fù)制數(shù)據(jù)到GPU內(nèi)存
    cudaStatus = cudaMemcpy(dev_a, a, size * sizeof(int), cudaMemcpyHostToDevice);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "dev_a復(fù)制失敗");
    }
    //從主機(jī)內(nèi)存復(fù)制數(shù)據(jù)到GPU內(nèi)存
    cudaStatus = cudaMemcpy(dev_b, b, size * sizeof(int), cudaMemcpyHostToDevice);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "dev_b復(fù)制失敗");
    }
    //調(diào)用GPU計(jì)算
    VecAdd << <1, size >> > (dev_a, dev_b, dev_c);
    //獲取錯(cuò)誤狀態(tài)
    cudaStatus = cudaGetLastError();
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "VecAdd 調(diào)用失敗: %s\n", cudaGetErrorString(cudaStatus));
    }

    cudaStatus = cudaDeviceSynchronize();
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "cudaDeviceSynchronize 返回錯(cuò)誤 %d!\n", cudaStatus);
    }
    //將計(jì)算結(jié)果返回主機(jī)
    cudaStatus = cudaMemcpy(c, dev_c, size * sizeof(int), cudaMemcpyDeviceToHost);
    if (cudaStatus != cudaSuccess) {
        fprintf(stderr, "從GPU復(fù)制數(shù)據(jù)失敗!");
    }
    printf("{1,2,3} + {10,20,30} = {%d,%d,%d}\n",
        c[0], c[1], c[2]);
    cudaFree(dev_a);
    cudaFree(dev_b);
    cudaFree(dev_c);
    return 0;
}

如果成功迄沫,會(huì)顯示


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稻扬,一起剝皮案震驚了整個(gè)濱河市卦方,隨后出現(xiàn)的幾起案子准潭,更是在濱河造成了極大的恐慌破镰,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沽翔,死亡現(xiàn)場(chǎng)離奇詭異逝她,居然都是意外死亡浇坐,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)黔宛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)近刘,“玉大人,你說(shuō)我怎么就攤上這事臀晃【蹩剩” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵徽惋,是天一觀的道長(zhǎng)案淋。 經(jīng)常有香客問(wèn)我,道長(zhǎng)险绘,這世上最難降的妖魔是什么踢京? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任誉碴,我火速辦了婚禮,結(jié)果婚禮上瓣距,老公的妹妹穿的比我還像新娘黔帕。我一直安慰自己,他們只是感情好蹈丸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布蹬屹。 她就那樣靜靜地躺著,像睡著了一般白华。 火紅的嫁衣襯著肌膚如雪慨默。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天弧腥,我揣著相機(jī)與錄音厦取,去河邊找鬼。 笑死管搪,一個(gè)胖子當(dāng)著我的面吹牛虾攻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播更鲁,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼霎箍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了澡为?” 一聲冷哼從身側(cè)響起漂坏,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媒至,沒(méi)想到半個(gè)月后顶别,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拒啰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年驯绎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谋旦。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡剩失,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出册着,到底是詐尸還是另有隱情拴孤,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布指蚜,位于F島的核電站乞巧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏摊鸡。R本人自食惡果不足惜绽媒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一蚕冬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧是辕,春花似錦囤热、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至疙教,卻和暖如春棺聊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背贞谓。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工限佩, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人裸弦。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓祟同,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親理疙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晕城,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容