衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CUDA簡介:CUDA編程模型和接口

星星科技指導員 ? 來源:NVIDIA ? 作者:Ken He ? 2022-04-19 15:38 ? 次閱讀

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

1.1 我們為什么要使用GPU

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

GPU和CPU在功能上的差異是因為它們的設計目標不同。雖然 CPU 旨在以盡可能快的速度執行一系列稱為線程的操作,并且可以并行執行數十個這樣的線程。但GPU卻能并行執行成千上萬個(攤銷較慢的單線程性能以實現更大的吞吐量)。

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

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

pYYBAGJeZ2KATOe0AABsHBaw-Os076.png

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

1.2 CUDA?:通用并行計算平臺和編程模型

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

CUDA 附帶一個軟件環境,允許開發人員使用 C++ 作為高級編程語言。 如下圖所示,支持其他語言、應用程序編程接口或基于指令的方法,例如 FORTRAN、DirectCompute、OpenACC。

poYBAGJeZ1yAKiiLAAH1q_EpXUQ299.png

1.3 可擴展的編程模型

多核 CPU 和眾核 GPU 的出現意味著主流處理器芯片現在是并行系統。挑戰在于開發能夠透明地擴展可并行的應用軟件,來利用不斷增加的處理器內核數量。就像 3D 圖形應用程序透明地將其并行性擴展到具有廣泛不同內核數量的多核 GPU 一樣。

CUDA 并行編程模型旨在克服這一挑戰,同時為熟悉 C 等標準編程語言的程序員保持較低的學習曲線。

其核心是三個關鍵抽象——線程組的層次結構、共享內存和屏障同步——它們只是作為最小的語言擴展集向程序員公開。

這些抽象提供了細粒度的數據并行和線程并行,嵌套在粗粒度的數據并行和任務并行中。它們指導程序員將問題劃分為可以由線程塊并行獨立解決的粗略子問題,并將每個子問題劃分為可以由塊內所有線程并行協作解決的更精細的部分。

這種分解通過允許線程在解決每個子問題時進行協作來保留語言表達能力,同時實現自動可擴展性。實際上,每個線程塊都可以在 GPU 內的任何可用multiprocessor上以亂序、并發或順序調度,以便編譯的 CUDA 程序可以在任意數量的多處理器上執行,如下圖所示,并且只有運行時系統需要知道物理multiprocessor個數。

這種可擴展的編程模型允許 GPU 架構通過簡單地擴展multiprocessor和內存分區的數量來跨越廣泛的市場范圍:高性能發燒友 GeForce GPU ,專業的 Quadro 和 Tesla 計算產品 (有關所有支持 CUDA 的 GPU 的列表,請參閱支持 CUDA 的 GPU)。

pYYBAGJeZ1WAWhqdAAAqnDtQ7Es238.png

注意:GPU 是圍繞一系列流式多處理器 (SM: Streaming Multiprocessors) 構建的(有關詳細信息,請參閱硬件實現)。 多線程程序被劃分為彼此獨立執行的線程塊,因此具有更多multiprocessor的 GPU 將比具有更少多處理器的 GPU 在更短的時間內完成程序執行。

關于作者

Ken He 是 NVIDIA 企業級開發者社區經理 & 高級講師,擁有多年的 GPU 和人工智能開發經驗。自 2017 年加入 NVIDIA 開發者社區以來,完成過上百場培訓,幫助上萬個開發者了解人工智能和 GPU 編程開發。在計算機視覺,高性能計算領域完成過多個獨立項目。并且,在機器人無人機領域,有過豐富的研發經驗。對于圖像識別,目標的檢測與跟蹤完成過多種解決方案。曾經參與 GPU 版氣象模式GRAPES,是其主要研發者。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    5076

    瀏覽量

    103730
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4777

    瀏覽量

    129362
  • 人工智能
    +關注

    關注

    1796

    文章

    47683

    瀏覽量

    240313
收藏 人收藏

    評論

    相關推薦

    FacenetPytorch人臉識別方案--基于米爾全志T527開發板

    算法實現人臉識別深度神經網絡1.簡介 Facenet-PyTorch 是一個基于 PyTorch 框架實現的人臉識別庫。它提供了 FaceNet 模型的 PyTorch 實現,可以用于訓練自己的人
    發表于 11-28 15:57

    【「算力芯片 | 高性能 CPU/GPU/NPU 微架構分析」閱讀體驗】--了解算力芯片GPU

    從而充分利用 GPU的強大計算能力。在CUDA編程模型中,GPU的計算資源被組織為線期線程塊和線程網格3級。線程是基本的執行單元,線程塊是包含多個線程的組,線程網格包含多個線程塊的組。線程塊和線程網格
    發表于 11-03 12:55

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

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

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

    接口芯片的編程模型方法是一個復雜的話題,涉及到硬件設計、軟件編程、通信協議等多個方面。 1. 接口芯片概述
    的頭像 發表于 09-30 11:30 ?302次閱讀

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

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

    打破英偉達CUDA壁壘?AMD顯卡現在也能無縫適配CUDA

    電子發燒友網報道(文/梁浩斌)一直以來,圍繞CUDA打造的軟件生態,是英偉達在GPU領域最大的護城河,尤其是隨著目前AI領域的發展加速,市場火爆,英偉達GPU+CUDA的開發生態則更加穩固,AMD
    的頭像 發表于 07-19 00:16 ?4892次閱讀

    英國公司實現英偉達CUDA軟件在AMD GPU上的無縫運行

    7月18日最新資訊,英國創新科技企業Spectral Compute震撼發布了其革命性GPGPU編程工具包——“SCALE”,該工具包實現了英偉達CUDA軟件在AMD GPU上的無縫遷移與運行,標志著在GPU計算領域,NVIDIA長期以來的市場壟斷地位或將迎來重大挑戰。
    的頭像 發表于 07-18 14:40 ?714次閱讀

    軟件生態上超越CUDA,究竟有多難?

    神壇的,還是圍繞CUDA打造的一系列軟件生態。 ? 英偉達——CUDA的絕對統治 ? 相信對GPU有過一定了解的都知道,英偉達的最大護城河就是CUDACUDA在后端架構上處于絕對的統
    的頭像 發表于 06-20 00:09 ?3795次閱讀

    借助NVIDIA Aerial CUDA增強5G/6G的DU性能和工作負載整合

    Aerial CUDA 加速無線接入網 (RAN)可加速電信工作負載,使用 CPU、GPU 和 DPU 在云原生加速計算平臺上提供更高水平的頻譜效率 (SE)。
    的頭像 發表于 05-24 11:10 ?669次閱讀
    借助NVIDIA Aerial <b class='flag-5'>CUDA</b>增強5G/6G的DU性能和工作負載整合

    英偉達CUDA-Q平臺推動全球量子計算研究

    英偉達今日公布了其重要戰略決策,即采用開源的CUDA-Q平臺,旨在推動德國、日本和波蘭等國家超運中心在量子計算領域的創新研究。CUDA-Q作為英偉達推出的一款開源平臺,不僅與QPU無關,還實現了量子
    的頭像 發表于 05-14 11:45 ?713次閱讀

    NVIDIA 通過 CUDA-Q 平臺為全球各地的量子計算中心提供加速

    —— NVIDIA 于今日宣布將通過開源的 NVIDIA CUDA-Q? 量子計算平臺,助力全球各地的國家級超算中心加快量子計算的研究發展。 ? 德國、日本和波蘭的超算中心將使用該平臺來賦能他們由 NVIDIA
    發表于 05-13 15:21 ?226次閱讀
    NVIDIA 通過 <b class='flag-5'>CUDA</b>-Q 平臺為全球各地的量子計算中心提供加速

    Keil使用AC6編譯提示CUDA版本過高怎么解決?

    \' ArmClang: warning: Unknown CUDA version 10.2. Assuming the latest supported version 10.1
    發表于 04-11 07:56

    英偉達AI霸主地位遭巨頭聯手挑戰,CUDA壟斷遭破局

    據最新外媒報道,科技界的巨頭們——高通、谷歌和英特爾等,已經聯手向英偉達發起了一場挑戰,意圖打破其在CUDA平臺上的壟斷局面。
    的頭像 發表于 03-28 14:39 ?1060次閱讀

    摩爾線程MUSA/MUSIFY與英偉達CUDA無依賴,開發者無憂

    首先,摩爾線程MUSA/MUSIFY并不受到英偉達CUDA這項條款的限制,使用者可以放心地使用其相關內容。MUSA即摩爾線程自行研發,享有高度自主知識產權的全功能GPU先進計算統一系統架構;
    的頭像 發表于 03-06 09:22 ?1412次閱讀

    GPU CUDA 編程的基本原理是什么

    神經網絡能加速的有很多,當然使用硬件加速是最可觀的了,而目前除了專用的NPU(神經網絡加速單元),就屬于GPU對神經網絡加速效果最好了
    的頭像 發表于 03-05 10:26 ?939次閱讀
    GPU <b class='flag-5'>CUDA</b> <b class='flag-5'>編程</b>的基本原理是什么
    六合彩历史开奖记录| 永利| 桓台县| 百家乐官网信誉博彩公司| 百家乐21点| 大发888下载 df888gfxzylc8| 百家乐官网澳门路规则| 百家乐官网博弈指| 百家乐网络赌博网| 博彩e族天上人间| 百家乐官网如何捕捉长龙| 百家乐赌博娱乐城| 大发| 打百家乐官网纯打庄的方法| 没费用百家乐分析器| 百家乐官网包赢技巧| 百家乐怎么打啊| 大发888游戏平台 新葡京| 澳门百家乐官网什么规则| 百家乐软件稳赚| 爱博彩到天上人间| 网上赌百家乐官网有假| 大发888娱乐场菲律宾| 报价| 百家乐扑克投注赢钱法| bet365v网卡| 网上百家乐官网娱乐场开户注册| 博彩网百家乐全讯网| 百家乐官网分路单析器| 赌博百家乐赢钱方法| 陆丰市| 棋牌百家乐怎么玩| 澳门博彩立博| 属蛇和属马合作做生意谁吃亏| 顶级赌场是骗人的吗| 百家乐官网真人博彩的玩法技巧和规则| 威尼斯人娱乐城免费注册| 百家乐官网网址讯博网| 网上百家乐怎么赌能赢钱| 百家乐官网娱乐城彩金| 百家乐园百利宫娱乐城信誉好...|