91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

1.1 我們?yōu)槭裁匆褂?a href="http://m.makelele.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)通過簡單地?cái)U(kuò)展multiprocessor和內(nèi)存分區(qū)的數(shù)量來跨越廣泛的市場范圍:高性能發(fā)燒友 GeForce GPU ,專業(yè)的 Quadro 和 Tesla 計(jì)算產(chǎn)品 (有關(guān)所有支持 CUDA 的 GPU 的列表,請參閱支持 CUDA 的 GPU)。

pYYBAGJeZ1WAWhqdAAAqnDtQ7Es238.png

注意:GPU 是圍繞一系列流式多處理器 (SM: Streaming Multiprocessors) 構(gòu)建的(有關(guān)詳細(xì)信息,請參閱硬件實(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ū)以來,完成過上百場培訓(xùn),幫助上萬個(gè)開發(fā)者了解人工智能和 GPU 編程開發(fā)。在計(jì)算機(jī)視覺,高性能計(jì)算領(lǐng)域完成過多個(gè)獨(dú)立項(xiàng)目。并且,在機(jī)器人無人機(jī)領(lǐng)域,有過豐富的研發(fā)經(jīng)驗(yàn)。對于圖像識(shí)別,目標(biāo)的檢測與跟蹤完成過多種解決方案。曾經(jīng)參與 GPU 版氣象模式GRAPES,是其主要研發(fā)者。

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5594

    瀏覽量

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

    關(guān)注

    28

    文章

    5194

    瀏覽量

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

    關(guān)注

    1817

    文章

    50098

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RV生態(tài)又一里程碑:英偉達(dá)官宣CUDA將兼容RISC-V架構(gòu)!

    電子發(fā)燒友網(wǎng)報(bào)道(文/梁浩斌)英偉達(dá)生態(tài)護(hù)城河CUDA,從最初支持x86、Power?CPU架構(gòu),到2019年宣布支持Arm?CPU,不斷拓展在數(shù)據(jù)中心的應(yīng)用生態(tài)。 在2019年至今的六年
    的頭像 發(fā)表于 07-19 00:04 ?6595次閱讀
    RV生態(tài)又一里程碑:英偉達(dá)官宣<b class='flag-5'>CUDA</b>將兼容RISC-V架構(gòu)!

    摩爾線程快速完成對Qwen3.5模型全面適配

    MUSA C編程語言及Triton-MUSA工具鏈高效完成模型部署與優(yōu)化。 在Qwen3.5的適配過程中,摩爾線程驗(yàn)證了MUSA生態(tài)的兩大核心能力:原生MUSA C支持讓開發(fā)者可直接使用MUSA C進(jìn)行
    發(fā)表于 02-18 08:32 ?169次閱讀

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

    NVIDIA CUDA Tile 是基于 GPU 的編程模型,其設(shè)計(jì)目標(biāo)是為 NVIDIA Tensor Cores 提供可移植性,從而釋放 GPU 的極限性能。CUDA Tile 的
    的頭像 發(fā)表于 02-10 10:31 ?245次閱讀

    如何在NVIDIA CUDA Tile中編寫高性能矩陣乘法

    本博文是系列課程的一部分,旨在幫助開發(fā)者學(xué)習(xí) NVIDIA CUDA Tile 編程,掌握構(gòu)建高性能 GPU 內(nèi)核的方法,并以矩陣乘法作為核心示例。
    的頭像 發(fā)表于 01-22 16:43 ?4833次閱讀
    如何在NVIDIA <b class='flag-5'>CUDA</b> Tile中編寫高性能矩陣乘法

    NVIDIA CUDA Tile的創(chuàng)新之處、工作原理以及使用方法

    NVIDIA CUDA 13.1 推出 NVIDIA CUDA Tile,這是自 2006 年 NVIDIA CUDA 平臺(tái)發(fā)明以來,最大的一次技術(shù)進(jìn)步。這一令人振奮的創(chuàng)新引入了一套面向
    的頭像 發(fā)表于 12-24 10:17 ?474次閱讀
    NVIDIA <b class='flag-5'>CUDA</b> Tile的創(chuàng)新之處、工作原理以及使用方法

    在Python中借助NVIDIA CUDA Tile簡化GPU編程

    NVIDIA CUDA 13.1 版本新增了基于 Tile 的GPU 編程模式。它是自 CUDA 發(fā)明以來 GPU 編程最核心的更新之一。借助 GPU tile kernels,可以用
    的頭像 發(fā)表于 12-13 10:12 ?1203次閱讀
    在Python中借助NVIDIA <b class='flag-5'>CUDA</b> Tile簡化GPU<b class='flag-5'>編程</b>

    NVIDIA CUDA 13.1版本的新增功能與改進(jìn)

    NVIDIA CUDA 13.1 是自 CUDA 二十年前發(fā)明以來,規(guī)模最大、內(nèi)容最全面的一次更新。
    的頭像 發(fā)表于 12-13 10:08 ?2209次閱讀

    首款全國產(chǎn)訓(xùn)推一體AI芯片發(fā)布,兼容CUDA生態(tài)

    CUDA生態(tài)體系。該芯片支持從單機(jī)多卡到千卡級(jí)集群的靈活擴(kuò)展,能效比達(dá)3.41 TFLOPS/W——在同等功
    的頭像 發(fā)表于 11-30 07:20 ?9525次閱讀
    首款全國產(chǎn)訓(xùn)推一體AI芯片發(fā)布,兼容<b class='flag-5'>CUDA</b>生態(tài)

    aicube的n卡gpu索引該如何添加?

    請問有人知道aicube怎樣才能讀取n卡的gpu索引呢,我已經(jīng)安裝了cuda和cudnn,在全局的py里添加了torch,能夠調(diào)用gpu,當(dāng)還是只能看到默認(rèn)的gpu0,顯示不了gpu1,gpu0是集顯,訓(xùn)練速度太感人了 你只有一塊英偉達(dá)的卡,aicube不支持AMD的顯卡,所以搜索到的只有一張卡
    發(fā)表于 07-25 08:18

    英偉達(dá):CUDA 已經(jīng)開始移植到 RISC-V 架構(gòu)上

    ,著重介紹了將 CUDA 移植到 RISC-V 架構(gòu)的相關(guān)工作和計(jì)劃,展現(xiàn)了對 RISC-V 架構(gòu)的高度重視與積極布局。 ? Frans Sijstermanns 首先回顧了英偉達(dá)與 RISC-V 之間
    發(fā)表于 07-17 16:30 ?3959次閱讀

    進(jìn)迭時(shí)空同構(gòu)融合RISC-V AI CPU的Triton算子編譯器實(shí)踐

    Triton是由OpenAI開發(fā)的一個(gè)開源編程語言和編譯器,旨在簡化高性能GPU內(nèi)核的編寫。它提供了類似Python的語法,并通過高級(jí)抽象降低了GPU編程的復(fù)雜性,同時(shí)保持了高性能。目前
    的頭像 發(fā)表于 07-15 09:04 ?1879次閱讀
    進(jìn)迭時(shí)空同構(gòu)融合RISC-V AI CPU的Triton算子編譯器實(shí)踐

    FA模型和Stage模型API切換概述

    API切換概述 FA模型和Stage模型由于線程模型和進(jìn)程模型的差異,部分接口僅在FA模型下才
    發(fā)表于 06-06 06:29

    FA模型訪問Stage模型DataShareExtensionAbility說明

    DataAbilityHelper提供對外接口,服務(wù)端是由DataAbility提供數(shù)據(jù)庫的讀寫服務(wù)。 Stage模型中,客戶端是由DataShareHelper提供對外接口,服務(wù)端是由
    發(fā)表于 06-04 07:53

    如何基于Kahn處理網(wǎng)絡(luò)定義AI引擎圖形編程模型

    本白皮書探討了如何基于 Kahn 處理網(wǎng)絡(luò)( KPN )定義 AI 引擎圖形編程模型。KPN 模型有助于實(shí)現(xiàn)數(shù)據(jù)流并行化,進(jìn)而提高系統(tǒng)的整體性能。
    的頭像 發(fā)表于 04-17 11:31 ?873次閱讀
    如何基于Kahn處理網(wǎng)絡(luò)定義AI引擎圖形<b class='flag-5'>編程</b><b class='flag-5'>模型</b>

    使用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 ?1537次閱讀