日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用VS2022對(duì)GPU進(jìn)行CUDA編程

雷達(dá)通信電子戰(zhàn) ? 來(lái)源:軟硬件技術(shù)開發(fā) ? 2023-01-10 09:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在異構(gòu)計(jì)算架構(gòu)中,GPUCPU通過(guò)PCIe總線連接在一起來(lái)協(xié)同工作,CPU所在位置稱為為主機(jī)端(host),而GPU所在位置稱為設(shè)備端(device),兩者優(yōu)勢(shì)互補(bǔ)。

CUDA作為GPU的編程模型,提供了對(duì)其他編程語(yǔ)言的支持,例如常用的C/C++,Python等。

下面在windows系統(tǒng)下,使用VS2022對(duì)GPU進(jìn)行CUDA編程。

開始之前你需要準(zhǔn)備的硬件是:一塊GPU顯卡。并假設(shè)你已經(jīng)提前安裝了VS2022,而且具備一定的軟件編程經(jīng)驗(yàn)。

安裝CUDA

首先進(jìn)行CUDA編程模型的安裝,根據(jù)自己的系統(tǒng)情況到CUDA官網(wǎng)下載安裝包。下載完成后進(jìn)行安裝,過(guò)程很簡(jiǎn)單。

4ad74652-9034-11ed-bfe3-dac502259ad0.png

4aef7600-9034-11ed-bfe3-dac502259ad0.png

安裝完成后,“win+R”輸入cmd打開終端后輸入:nvcc -V,檢驗(yàn)安裝是否成功。

4b03222c-9034-11ed-bfe3-dac502259ad0.png

若需要下載以前的版本,你還可以點(diǎn)擊查看你需要下載的CUDA版本:

4b0c1f08-9034-11ed-bfe3-dac502259ad0.png

4b156aae-9034-11ed-bfe3-dac502259ad0.png4accc088-9034-11ed-bfe3-dac502259ad0.png

創(chuàng)建VS2022項(xiàng)目

CUDA安裝完成后,打開VS2022創(chuàng)建新項(xiàng)目,選擇CUDA runtime。

4b46ccd4-9034-11ed-bfe3-dac502259ad0.png

4b65daac-9034-11ed-bfe3-dac502259ad0.png

4b820b5a-9034-11ed-bfe3-dac502259ad0.png

新建完成后有一個(gè)簡(jiǎn)單的例程,直接進(jìn)行調(diào)試即可看到下面的結(jié)果:

4b934dd4-9034-11ed-bfe3-dac502259ad0.png

在CUDA中,用host指代CPU及其內(nèi)存,用device指代GPU及其內(nèi)存。

CUDA程序既包含host程序,又包含device程序,它們分別在CPU和GPU上運(yùn)行。

同時(shí),host與device之間可以進(jìn)行數(shù)據(jù)拷貝。

在CUDA中是通過(guò)函數(shù)類型限定詞開區(qū)別host和device上的函數(shù),主要的三個(gè)函數(shù)類型限定詞如下:

__global__:在device上執(zhí)行,從host中調(diào)用(一些特定的GPU也可以從device上調(diào)用),返回類型必須是void,不支持可變參數(shù),不能成為類成員函數(shù)。

注意用__global__定義的kernel是異步的,這意味著host不會(huì)等待kernel執(zhí)行完就執(zhí)行下一步。

__device__:在device上執(zhí)行,僅可以從device中調(diào)用,不可以和__global__同時(shí)用。

__host__:在host上執(zhí)行,僅可以從host上調(diào)用,一般省略不寫,不可以和__global__同時(shí)用,但可和__device__,此時(shí)函數(shù)會(huì)在device和host都編譯。


4ba55a6a-9034-11ed-bfe3-dac502259ad0.png

4bc45776-9034-11ed-bfe3-dac502259ad0.png

4bec1b3a-9034-11ed-bfe3-dac502259ad0.png

該例程雖然簡(jiǎn)單,也反映了典型的CUDA程序流程:

分配host內(nèi)存,并進(jìn)行數(shù)據(jù)初始化;

分配device內(nèi)存,并從host將數(shù)據(jù)拷貝到device上;

在device上調(diào)用CUDA的核函數(shù)(kernel)完成進(jìn)行并行計(jì)算;

將device上的運(yùn)算結(jié)果拷貝到host上;

釋放device和host上分配的內(nèi)存。

其中,kernel是在device上線程中并行執(zhí)行的函數(shù),核函數(shù)用__global__符號(hào)聲明,在調(diào)用時(shí)需要用<<>>來(lái)指定kernel要執(zhí)行的線程數(shù)量,在CUDA中,每個(gè)線程都要執(zhí)行核函數(shù),并且每個(gè)線程會(huì)分配一個(gè)唯一的線程號(hào)thread ID,這個(gè)ID值可以通過(guò)核函數(shù)的內(nèi)置變量threadIdx來(lái)獲得。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PCIE總線
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    14050
  • python
    +關(guān)注

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90330
  • CUDA
    +關(guān)注

    關(guān)注

    0

    文章

    128

    瀏覽量

    14555

原文標(biāo)題:安裝CUDA,并使用VS2022開始CUDA編程

文章出處:【微信號(hào):雷達(dá)通信電子戰(zhàn),微信公眾號(hào):雷達(dá)通信電子戰(zhàn)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    在K520上能使用兩個(gè)GPU進(jìn)行CUDA作業(yè)嗎

    如果沒(méi)有其他用戶共享K520,您是否可以抓取兩個(gè)GPU進(jìn)行CUDA計(jì)算作業(yè)?我們的應(yīng)用程序使用GPU進(jìn)行顯示和計(jì)算。當(dāng)我們?cè)贏WS K520
    發(fā)表于 09-26 15:23

    CUDA編程教程

    Nvidia CUDA 2.0編程教程
    發(fā)表于 03-05 07:30

    linux安裝GPU顯卡驅(qū)動(dòng)、CUDA和cuDNN庫(kù)

    /deviceQuery若看到類似以下信息則說(shuō)明 cuda 已安裝成功: 7、安裝cuDNN cuDNN是GPU加速計(jì)算深層神經(jīng)網(wǎng)絡(luò)的庫(kù)。首先去官網(wǎng) https://developer.nvidia.com
    發(fā)表于 07-09 07:45

    GPU加速的L0范數(shù)圖像平滑(L0 Smooth)【CUDA

    GPU 加速的 L0 范數(shù)圖像平滑(L0 Smooth)【CUDA
    發(fā)表于 07-08 12:10

    計(jì)算機(jī)組成原理 — GPU 圖形處理器 精選資料分享

    目錄文章目錄目錄顯卡GPUCPU 與 GPU 的區(qū)別GPU 的架構(gòu)CUDA 編程模式CUDA 的架構(gòu)利用
    發(fā)表于 07-23 08:56

    VS2022破解vMicro

    VS2022破解vMicro以前一直在用VS2019來(lái)進(jìn)行Arduino的開發(fā),用的也是Visual Micro這款擴(kuò)展。今天發(fā)現(xiàn)VS2022上也上架了這個(gè)擴(kuò)展,就想著能不能把這個(gè)版本
    發(fā)表于 01-10 08:02

    GPU高性能運(yùn)算之CUDA

      全面介紹使用CUDA進(jìn)行通用計(jì)算所需   要的語(yǔ)法、硬件架構(gòu)、程序優(yōu)化技巧等知識(shí),是進(jìn)行GPU通用計(jì)算程序開發(fā)的入門教材和參考書。   本書共分5章。第1章
    發(fā)表于 08-16 16:21 ?0次下載

    CUDA學(xué)習(xí)筆記第一篇:一個(gè)基本的CUDA C程序

    1、CUDA的簡(jiǎn)介 2、GPU架構(gòu)和CUDA介紹3、CUDA架構(gòu)4、開發(fā)環(huán)境說(shuō)明和配置5、開始第一個(gè)Hello CUDA程序????5.1、
    的頭像 發(fā)表于 12-14 23:40 ?1914次閱讀

    CUDA簡(jiǎn)介: CUDA編程模型概述

    CUDA 編程模型中,線程是進(jìn)行計(jì)算或內(nèi)存操作的最低抽象級(jí)別。 從基于 NVIDIA Ampere GPU 架構(gòu)的設(shè)備開始,CUDA
    的頭像 發(fā)表于 04-20 17:16 ?4187次閱讀
    <b class='flag-5'>CUDA</b>簡(jiǎn)介: <b class='flag-5'>CUDA</b><b class='flag-5'>編程</b>模型概述

    國(guó)產(chǎn)GPU繞不開的CUDA生態(tài)

    CUDA(Compute Unified Device Architecture,統(tǒng)一計(jì)算架構(gòu))是由英偉達(dá)所推出的一種集成技術(shù),是該公司對(duì)于GPGPU的正式名稱。通過(guò)這個(gè)技術(shù),用戶可利用NVIDIA的GPU進(jìn)行圖像處理之外的運(yùn)算
    的頭像 發(fā)表于 11-29 09:36 ?5935次閱讀

    使用CUDA進(jìn)行編程的要求有哪些

    CUDA是NVIDIA的一種用于GPU編程的技術(shù),CUDA核心是GPU上的一組小型計(jì)算單元,它們可以同時(shí)執(zhí)行大量的計(jì)算任務(wù)。
    的頭像 發(fā)表于 01-08 09:20 ?3560次閱讀

    GPU平臺(tái)生態(tài),英偉達(dá)CUDA和AMD ROCm對(duì)比分析

    CUDA 除了是并行計(jì)算架構(gòu)外,還是 CPU 和 GPU 協(xié)調(diào)工作的通用語(yǔ)言。在CUDA 編程模型中,主要有 Host(主機(jī))和 Device(設(shè)備)兩個(gè)概念,Host 包含 CPU
    的頭像 發(fā)表于 05-18 09:57 ?3960次閱讀
    <b class='flag-5'>GPU</b>平臺(tái)生態(tài),英偉達(dá)<b class='flag-5'>CUDA</b>和AMD ROCm對(duì)比分析

    介紹CUDA編程模型及CUDA線程體系

    CUDA 編程模型主要有三個(gè)關(guān)鍵抽象:層級(jí)的線程組,共享內(nèi)存和柵同步(barrier synchronization)。
    的頭像 發(fā)表于 05-19 11:32 ?3226次閱讀
    介紹<b class='flag-5'>CUDA</b><b class='flag-5'>編程</b>模型及<b class='flag-5'>CUDA</b>線程體系

    在Python中借助NVIDIA CUDA Tile簡(jiǎn)化GPU編程

    NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 編程模式。它是自 CUDA 發(fā)明以來(lái) GPU
    的頭像 發(fā)表于 12-13 10:12 ?1476次閱讀
    在Python中借助NVIDIA <b class='flag-5'>CUDA</b> Tile簡(jiǎn)化<b class='flag-5'>GPU</b><b class='flag-5'>編程</b>

    借助NVIDIA CUDA Tile IR后端推進(jìn)OpenAI Triton的GPU編程

    NVIDIA CUDA Tile 是基于 GPU編程模型,其設(shè)計(jì)目標(biāo)是為 NVIDIA Tensor Cores 提供可移植性,從而釋放 GPU 的極限性能。
    的頭像 發(fā)表于 02-10 10:31 ?550次閱讀
    陈巴尔虎旗| 两当县| 无为县| 南川市| 蕉岭县| 乡城县| 西昌市| 罗山县| 河东区| 土默特左旗| 登封市| 鹿邑县| 临猗县| 康保县| 永新县| 来宾市| 平乡县| 云霄县| 太白县| 佛冈县| 合作市| 卢湾区| 维西| 临沧市| 四川省| 阿拉善左旗| 稷山县| 潼关县| 彩票| 云林县| 巴彦淖尔市| 沽源县| 赤水市| 通州市| 三河市| 五家渠市| 齐河县| 陇西县| 都江堰市| 富蕴县| 昭通市|