免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
安裝CUDA,并使用VS2022開始CUDA編程
userphoto

2023.02.12 湖北

關(guān)注
在異構(gòu)計算架構(gòu)中,GPU與CPU通過PCIe總線連接在一起來協(xié)同工作,CPU所在位置稱為為主機端(host),而GPU所在位置稱為設(shè)備端(device),兩者優(yōu)勢互補。CUDA作為GPU的編程模型,提供了對其他編程語言的支持,例如常用的C/C++,Python等。
下面在windows系統(tǒng)下,使用VS2022對GPU進行CUDA編程。開始之前你需要準備的硬件是:一塊GPU顯卡。并假設(shè)你已經(jīng)提前安裝了VS2022,而且具備一定的軟件編程經(jīng)驗。

安裝CUDA

首先進行CUDA編程模型的安裝,根據(jù)自己的系統(tǒng)情況到CUDA官網(wǎng)下載安裝包。下載完成后進行安裝,過程很簡單。
https://developer.nvidia.com/cuda-downloads
安裝完成后,“win+R”輸入cmd打開終端后輸入:nvcc -V檢驗安裝是否成功。
若需要下載以前的版本,你還可以點擊查看你需要下載的CUDA版本:

創(chuàng)建VS2022項目

CUDA安裝完成后,打開VS2022創(chuàng)建新項目,選擇CUDA runtime。
新建完成后有一個簡單的例程,直接進行調(diào)試即可看到下面的結(jié)果:
在CUDA中,用host指代CPU及其內(nèi)存,用device指代GPU及其內(nèi)存。CUDA程序既包含host程序,又包含device程序,它們分別在CPU和GPU上運行。同時,host與device之間可以進行數(shù)據(jù)拷貝。
在CUDA中是通過函數(shù)類型限定詞開區(qū)別host和device上的函數(shù),主要的三個函數(shù)類型限定詞如下:
__global__:在device上執(zhí)行,從host中調(diào)用(一些特定的GPU也可以從device上調(diào)用),返回類型必須是void,不支持可變參數(shù),不能成為類成員函數(shù)。注意用__global__定義的kernel是異步的,這意味著host不會等待kernel執(zhí)行完就執(zhí)行下一步。
__device__:在device上執(zhí)行,僅可以從device中調(diào)用,不可以和__global__同時用。
__host__:在host上執(zhí)行,僅可以從host上調(diào)用,一般省略不寫,不可以和__global__同時用,但可和__device__,此時函數(shù)會在device和host都編譯。
該例程雖然簡單,也反映了典型的CUDA程序流程:
  • 分配host內(nèi)存,并進行數(shù)據(jù)初始化;

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

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

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

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

其中,kernel是在device上線程中并行執(zhí)行的函數(shù),核函數(shù)用__global__符號聲明,在調(diào)用時需要用<<<grid, block>>>來指定kernel要執(zhí)行的線程數(shù)量,在CUDA中,每個線程都要執(zhí)行核函數(shù),并且每個線程會分配一個唯一的線程號thread ID,這個ID值可以通過核函數(shù)的內(nèi)置變量threadIdx來獲得。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
CUDA學(xué)習2-編程部分
快來操縱你的GPU| CUDA編程入門極簡教程
CUDA之異構(gòu)計算與CUDA
騰訊邱東洋:深度模型推理加速的術(shù)與道
GPU設(shè)計原理
?GPU內(nèi)存分級
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服