一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

CUDA簡(jiǎn)介:CUDA編程模型和接口

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Ken He ? 2022-04-19 15:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本項(xiàng)目為CUDA官方手冊(cè)的中文翻譯版,有個(gè)人翻譯并添加自己的理解。主要介紹CUDA編程模型和接口。

1.1 我們?yōu)槭裁匆褂?a href="http://www.www27dydycom.cn/tags/gpu/" target="_blank">GPU

GPU(Graphics Processing Unit)在相同的價(jià)格和功率范圍內(nèi),比CPU提供更高的指令吞吐量和內(nèi)存帶寬。許多應(yīng)用程序利用這些更高的能力,在GPU上比在CPU上運(yùn)行得更快(參見GPU應(yīng)用程序)。其他計(jì)算設(shè)備,如FPGA,也非常節(jié)能,但提供的編程靈活性要比GPU少得多。

GPU和CPU在功能上的差異是因?yàn)樗鼈兊脑O(shè)計(jì)目標(biāo)不同。雖然 CPU 旨在以盡可能快的速度執(zhí)行一系列稱為線程的操作,并且可以并行執(zhí)行數(shù)十個(gè)這樣的線程。但GPU卻能并行執(zhí)行成千上萬個(gè)(攤銷較慢的單線程性能以實(shí)現(xiàn)更大的吞吐量)。

GPU 專門用于高度并行計(jì)算,因此設(shè)計(jì)時(shí)更多的晶體管用于數(shù)據(jù)處理,而不是數(shù)據(jù)緩存和流量控制。

下圖顯示了 CPU 與 GPU 的芯片資源分布示例。

pYYBAGJeZ2KATOe0AABsHBaw-Os076.png

將更多晶體管用于數(shù)據(jù)處理,例如浮點(diǎn)計(jì)算,有利于高度并行計(jì)算。GPU可以通過計(jì)算隱藏內(nèi)存訪問延遲,而不是依靠大數(shù)據(jù)緩存和復(fù)雜的流控制來避免長時(shí)間的內(nèi)存訪問延遲,這兩者在晶體管方面都是昂貴的。

1.2 CUDA?:通用并行計(jì)算平臺(tái)和編程模型

2006 年 11 月,NVIDIA? 推出了 CUDA?,這是一種通用并行計(jì)算平臺(tái)和編程模型,它利用 NVIDIA GPU 中的并行計(jì)算引擎以比 CPU 更有效的方式解決許多復(fù)雜的計(jì)算問題。

CUDA 附帶一個(gè)軟件環(huán)境,允許開發(fā)人員使用 C++ 作為高級(jí)編程語言。 如下圖所示,支持其他語言、應(yīng)用程序編程接口或基于指令的方法,例如 FORTRAN、DirectCompute、OpenACC。

poYBAGJeZ1yAKiiLAAH1q_EpXUQ299.png

1.3 可擴(kuò)展的編程模型

多核 CPU 和眾核 GPU 的出現(xiàn)意味著主流處理器芯片現(xiàn)在是并行系統(tǒng)。挑戰(zhàn)在于開發(fā)能夠透明地?cái)U(kuò)展可并行的應(yīng)用軟件,來利用不斷增加的處理器內(nèi)核數(shù)量。就像 3D 圖形應(yīng)用程序透明地將其并行性擴(kuò)展到具有廣泛不同內(nèi)核數(shù)量的多核 GPU 一樣。

CUDA 并行編程模型旨在克服這一挑戰(zhàn),同時(shí)為熟悉 C 等標(biāo)準(zhǔn)編程語言的程序員保持較低的學(xué)習(xí)曲線。

其核心是三個(gè)關(guān)鍵抽象——線程組的層次結(jié)構(gòu)、共享內(nèi)存和屏障同步——它們只是作為最小的語言擴(kuò)展集向程序員公開。

這些抽象提供了細(xì)粒度的數(shù)據(jù)并行和線程并行,嵌套在粗粒度的數(shù)據(jù)并行和任務(wù)并行中。它們指導(dǎo)程序員將問題劃分為可以由線程塊并行獨(dú)立解決的粗略子問題,并將每個(gè)子問題劃分為可以由塊內(nèi)所有線程并行協(xié)作解決的更精細(xì)的部分。

這種分解通過允許線程在解決每個(gè)子問題時(shí)進(jìn)行協(xié)作來保留語言表達(dá)能力,同時(shí)實(shí)現(xiàn)自動(dòng)可擴(kuò)展性。實(shí)際上,每個(gè)線程塊都可以在 GPU 內(nèi)的任何可用multiprocessor上以亂序、并發(fā)或順序調(diào)度,以便編譯的 CUDA 程序可以在任意數(shù)量的多處理器上執(zhí)行,如下圖所示,并且只有運(yùn)行時(shí)系統(tǒng)需要知道物理multiprocessor個(gè)數(shù)。

這種可擴(kuò)展的編程模型允許 GPU 架構(gòu)通過簡(jiǎn)單地?cái)U(kuò)展multiprocessor和內(nèi)存分區(qū)的數(shù)量來跨越廣泛的市場(chǎng)范圍:高性能發(fā)燒友 GeForce GPU ,專業(yè)的 Quadro 和 Tesla 計(jì)算產(chǎn)品 (有關(guān)所有支持 CUDA 的 GPU 的列表,請(qǐng)參閱支持 CUDA 的 GPU)。

pYYBAGJeZ1WAWhqdAAAqnDtQ7Es238.png

注意:GPU 是圍繞一系列流式多處理器 (SM: Streaming Multiprocessors) 構(gòu)建的(有關(guān)詳細(xì)信息,請(qǐng)參閱硬件實(shí)現(xiàn))。 多線程程序被劃分為彼此獨(dú)立執(zhí)行的線程塊,因此具有更多multiprocessor的 GPU 將比具有更少多處理器的 GPU 在更短的時(shí)間內(nèi)完成程序執(zhí)行。

關(guān)于作者

Ken He 是 NVIDIA 企業(yè)級(jí)開發(fā)者社區(qū)經(jīng)理 & 高級(jí)講師,擁有多年的 GPU 和人工智能開發(fā)經(jīng)驗(yàn)。自 2017 年加入 NVIDIA 開發(fā)者社區(qū)以來,完成過上百場(chǎng)培訓(xùn),幫助上萬個(gè)開發(fā)者了解人工智能和 GPU 編程開發(fā)。在計(jì)算機(jī)視覺,高性能計(jì)算領(lǐng)域完成過多個(gè)獨(dú)立項(xiàng)目。并且,在機(jī)器人無人機(jī)領(lǐng)域,有過豐富的研發(fā)經(jīng)驗(yàn)。對(duì)于圖像識(shí)別,目標(biāo)的檢測(cè)與跟蹤完成過多種解決方案。曾經(jīng)參與 GPU 版氣象模式GRAPES,是其主要研發(fā)者。

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5299

    瀏覽量

    106291
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    4937

    瀏覽量

    131174
  • 人工智能
    +關(guān)注

    關(guān)注

    1806

    文章

    48987

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    使用NVIDIA CUDA-X庫加速科學(xué)和工程發(fā)展

    NVIDIA GTC 全球 AI 大會(huì)上宣布,開發(fā)者現(xiàn)在可以通過 CUDA-X 與新一代超級(jí)芯片架構(gòu)的協(xié)同,實(shí)現(xiàn) CPU 和 GPU 資源間深度自動(dòng)化整合與調(diào)度,相較于傳統(tǒng)加速計(jì)算架構(gòu),該技術(shù)可使計(jì)算工程工具運(yùn)行速度提升至原來的 11 倍,計(jì)算規(guī)模增加至 5 倍。
    的頭像 發(fā)表于 03-25 15:11 ?686次閱讀

    借助PerfXCloud和dify開發(fā)代碼轉(zhuǎn)換器

    隨著深度學(xué)習(xí)與高性能計(jì)算的迅速發(fā)展,GPU計(jì)算的廣泛應(yīng)用已成為推動(dòng)技術(shù)革新的一股重要力量。對(duì)于GPU編程語言的選擇,CUDA和HIP是目前最為流行的兩種選擇。CUDA是由NVIDIA推出的編程
    的頭像 發(fā)表于 02-25 09:36 ?981次閱讀
    借助PerfXCloud和dify開發(fā)代碼轉(zhuǎn)換器

    NVIDIA Jetson Orin Nano開發(fā)者套件的新功能

    生成式 AI 領(lǐng)域正在迅速發(fā)展,每天都有新的大語言模型(LLM)、視覺語言模型(VLM)和視覺語言動(dòng)作模型(VLA)出現(xiàn)。為了在這一充滿變革的時(shí)代保持領(lǐng)先,開發(fā)者需要一個(gè)足夠強(qiáng)大的平臺(tái)將云端的最新
    的頭像 發(fā)表于 12-23 12:54 ?1076次閱讀
    NVIDIA Jetson Orin Nano開發(fā)者套件的新功能

    【「大模型啟示錄」閱讀體驗(yàn)】對(duì)大模型更深入的認(rèn)知

    的平衡,解釋得清清楚楚,讓我這個(gè)非專業(yè)人士也能明白大模型在實(shí)際應(yīng)用中面臨的挑戰(zhàn)和限制,也對(duì)這些模型的復(fù)雜性和挑戰(zhàn)有了更深的理解。 而且,書中還提到了OpenAI的成功案例和CUDA技術(shù)壁壘的形成,這些
    發(fā)表于 12-20 15:46

    使用英特爾AI PC為YOLO模型訓(xùn)練加速

    在以往的實(shí)踐中,當(dāng)我們針對(duì) ultralytics 的 YOLO 模型開展訓(xùn)練工作時(shí),可供選擇的計(jì)算設(shè)備通常局限于 CPU、mps 以及 cuda 這幾種。然而,自 PyTorch2.5 版本發(fā)布
    的頭像 發(fā)表于 12-09 16:14 ?1573次閱讀
    使用英特爾AI PC為YOLO<b class='flag-5'>模型</b>訓(xùn)練加速

    FacenetPytorch人臉識(shí)別方案--基于米爾全志T527開發(fā)板

    算法實(shí)現(xiàn)人臉識(shí)別深度神經(jīng)網(wǎng)絡(luò)1.簡(jiǎn)介 Facenet-PyTorch 是一個(gè)基于 PyTorch 框架實(shí)現(xiàn)的人臉識(shí)別庫。它提供了 FaceNet 模型的 PyTorch 實(shí)現(xiàn),可以用于訓(xùn)練自己的人
    發(fā)表于 11-28 15:57

    NVIDIA與谷歌量子AI部門達(dá)成合作

    NVIDIA CUDA-Q 平臺(tái)使谷歌量子 AI 研究人員能夠?yàn)槠淞孔佑?jì)算機(jī)創(chuàng)建大規(guī)模的數(shù)字模型,以解決設(shè)計(jì)中面臨的各種挑戰(zhàn)
    的頭像 發(fā)表于 11-20 09:39 ?695次閱讀

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構(gòu)分析」閱讀體驗(yàn)】--了解算力芯片GPU

    從而充分利用 GPU的強(qiáng)大計(jì)算能力。在CUDA編程模型中,GPU的計(jì)算資源被組織為線期線程塊和線程網(wǎng)格3級(jí)。線程是基本的執(zhí)行單元,線程塊是包含多個(gè)線程的組,線程網(wǎng)格包含多個(gè)線程塊的組。線程塊和線程網(wǎng)格
    發(fā)表于 11-03 12:55

    有沒有大佬知道NI vision 有沒有辦法通過gpu和cuda來加速圖像處理

    有沒有大佬知道NI vision 有沒有辦法通過gpu和cuda來加速圖像處理
    發(fā)表于 10-20 09:14

    【「大模型時(shí)代的基礎(chǔ)架構(gòu)」閱讀體驗(yàn)】+ 第一、二章學(xué)習(xí)感受

    今天閱讀了《大模型時(shí)代的基礎(chǔ)架構(gòu)》前兩章,還是比較輕松舒適的;再就是本書知識(shí)和我的工作領(lǐng)域沒有任何關(guān)聯(lián),一切都是新鮮的,似乎每讀一頁都會(huì)有所收獲,這種快樂的學(xué)習(xí)過程感覺也挺不錯(cuò)的。 第一章開始介紹了
    發(fā)表于 10-10 10:36

    接口芯片的編程模型方法是什么

    接口芯片的編程模型方法是一個(gè)復(fù)雜的話題,涉及到硬件設(shè)計(jì)、軟件編程、通信協(xié)議等多個(gè)方面。 1. 接口芯片概述
    的頭像 發(fā)表于 09-30 11:30 ?645次閱讀

    怎么在TMDSEVM6678: 6678自帶的FFT接口CUDA提供CUFFT函數(shù)庫選擇?

    請(qǐng)教一下gpgpu上包括4個(gè)Riscv cpu和一個(gè)DPU, 沒有6678,要替換原來信號(hào)處理用的6678,該怎么在6678自帶的FFT接口CUDA提供CUFFT函數(shù)庫選擇?
    發(fā)表于 09-27 07:20

    如何理解socket編程接口

    Socket編程接口是一種網(wǎng)絡(luò)編程的基本概念,它提供了一種在不同計(jì)算機(jī)之間進(jìn)行通信的方法。 Socket編程接口的基本概念 1.1 Sock
    的頭像 發(fā)表于 08-16 10:48 ?916次閱讀

    打破英偉達(dá)CUDA壁壘?AMD顯卡現(xiàn)在也能無縫適配CUDA

    電子發(fā)燒友網(wǎng)報(bào)道(文/梁浩斌)一直以來,圍繞CUDA打造的軟件生態(tài),是英偉達(dá)在GPU領(lǐng)域最大的護(hù)城河,尤其是隨著目前AI領(lǐng)域的發(fā)展加速,市場(chǎng)火爆,英偉達(dá)GPU+CUDA的開發(fā)生態(tài)則更加穩(wěn)固,AMD
    的頭像 發(fā)表于 07-19 00:16 ?5912次閱讀

    英國公司實(shí)現(xiàn)英偉達(dá)CUDA軟件在AMD GPU上的無縫運(yùn)行

    7月18日最新資訊,英國創(chuàng)新科技企業(yè)Spectral Compute震撼發(fā)布了其革命性GPGPU編程工具包——“SCALE”,該工具包實(shí)現(xiàn)了英偉達(dá)CUDA軟件在AMD GPU上的無縫遷移與運(yùn)行,標(biāo)志著在GPU計(jì)算領(lǐng)域,NVIDIA長期以來的市場(chǎng)壟斷地位或?qū)⒂瓉碇卮筇魬?zhàn)。
    的頭像 發(fā)表于 07-18 14:40 ?1085次閱讀