欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VScode配置cuda開發(fā)環(huán)境的實(shí)現(xiàn)步驟

 更新時(shí)間:2024年07月21日 09:43:44   作者:哆啦叮當(dāng)  
本文主要介紹了VScode配置cuda開發(fā)環(huán)境的實(shí)現(xiàn)步驟,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

因?yàn)檎n程學(xué)習(xí)需要,配置英偉達(dá)的cuda環(huán)境做高性能計(jì)算的測試。

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)去后選擇對應(yīng)的平臺和版本

2.檢查環(huán)境配置

正常情況下安裝完成后是會自動配置環(huán)境變量的,但是為了保險(xiǎn)我們還是去命令行看一下

 執(zhí)行nvcc -V,若可以正常顯示版本號等信息,說明正常安裝。

3.配置vscode

cuda編程用的是.cu文件,我這里為了操作簡單用了coderunner插件,配置.cu文件的編譯

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

 

我們直接在settings.json中編輯

 在"code-runner.executorMap": {}中加入cu文件的編譯語句

"cu": "cd $dir; nvcc $fileName -o $fileNameWithoutExt.exe -I'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\include\\CL' && $dir$fileNameWithoutExt",
//請?jiān)O(shè)置和你的安裝路徑一致的地址

然后我們在.cu文件的右上角點(diǎn)擊運(yùn)行符號選擇用coderunner運(yùn)行

下面是一個(gè)測試小程序

#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é)果如下

這里可能會返回一個(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用c語言實(shí)現(xiàn)卷積碼編碼器示例

    利用c語言實(shí)現(xiàn)卷積碼編碼器示例

    這篇文章主要介紹了利用c語言實(shí)現(xiàn)卷積碼編碼器示例,需要的朋友可以參考下
    2014-03-03
  • cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢

    cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢

    這篇文章主要為大家詳細(xì)介紹了cocos2dx實(shí)現(xiàn)橡皮擦效果以及判斷是否擦除完畢,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C++初始化數(shù)組的幾種常見方法(簡單易懂)

    C++初始化數(shù)組的幾種常見方法(簡單易懂)

    本文介紹了C++中數(shù)組的初始化方法,包括一維數(shù)組和二維數(shù)組的初始化,以及用new動態(tài)初始化數(shù)組,在C++11及以上版本中,還提供了使用std::array和std::vector進(jìn)行靜態(tài)和動態(tài)初始化的方式,需要的朋友可以參考下
    2025-02-02
  • C++多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換

    C++多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換

    最近在C++編程中經(jīng)常遇到需要多字節(jié)字符與寬字節(jié)字符相互轉(zhuǎn)換的問題,自己寫了一個(gè)類來封裝wchar_t與char類型間的轉(zhuǎn)換
    2012-11-11
  • windows消息和消息隊(duì)列實(shí)例詳解

    windows消息和消息隊(duì)列實(shí)例詳解

    這篇文章主要介紹了windows消息和消息隊(duì)列實(shí)例詳解,詳細(xì)講述了Windows的消息機(jī)制與原理,對于深入理解和學(xué)習(xí)Windows應(yīng)用程序設(shè)計(jì)有不錯(cuò)的借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C++類的大小介紹

    C++類的大小介紹

    這篇文章主要介紹了C++類的大小,在C++中,結(jié)構(gòu)體和類的唯一區(qū)別就是結(jié)構(gòu)體和類具有不同的默認(rèn)訪問控制屬性,下面一起進(jìn)入文章查看詳細(xì)內(nèi)容
    2021-11-11
  • Qt實(shí)現(xiàn)窗口截圖功能

    Qt實(shí)現(xiàn)窗口截圖功能

    這篇文章主要為大家詳細(xì)介紹了如何使用Qt實(shí)現(xiàn)簡單的窗口截圖功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-11-11
  • C++實(shí)現(xiàn)LeetCode(110.平衡二叉樹)

    C++實(shí)現(xiàn)LeetCode(110.平衡二叉樹)

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(110.平衡二叉樹),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言詳解UDP通信的實(shí)現(xiàn)

    C語言詳解UDP通信的實(shí)現(xiàn)

    UDP協(xié)議是用戶數(shù)據(jù)報(bào)協(xié)議,面向無連接的、不穩(wěn)定、不可靠、不安全的數(shù)據(jù)報(bào)傳遞---更像是是收發(fā)短信;UDP傳輸不需要建立連接,傳輸效率更高,在穩(wěn)定的局域網(wǎng)內(nèi)環(huán)境相對可靠;UDP天然支持多客戶端
    2022-05-05
  • C/C++預(yù)處理淺析使用形式

    C/C++預(yù)處理淺析使用形式

    預(yù)處理是指在進(jìn)行編譯的詞法掃描和語法分析之前所作的工作。預(yù)處理指令指示在程序正式編譯前就由編譯器進(jìn)行的操作,可放在程序中任何位置。處理完畢自動進(jìn)入對源程序的編譯。C/C++中的預(yù)處理主要包含三種:文件包含、宏定義、條件編譯
    2022-09-09

最新評論