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

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

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

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

架構(gòu)師技術(shù)聯(lián)盟 ? 來(lái)源:架構(gòu)師技術(shù)聯(lián)盟 ? 2023-05-18 09:57 ? 次閱讀

成熟且完善的平臺(tái)生態(tài)是 GPU 廠商的護(hù)城河。相較于持續(xù)迭代的微架構(gòu)帶來(lái)的技術(shù)壁壘硬實(shí)力,成熟的軟件生態(tài)形成的強(qiáng)大用戶粘性將在長(zhǎng)時(shí)間內(nèi)塑造 GPU廠商的軟實(shí)力。以英偉達(dá) CUDA 為例的軟硬件設(shè)計(jì)架構(gòu)提供了硬件的直接訪問(wèn)接口,不必依賴圖形 API 映射,降低 GPGPU 開(kāi)發(fā)者編譯難度,以此實(shí)現(xiàn)高粘性的開(kāi)發(fā)者生態(tài)。目前主流的開(kāi)發(fā)平臺(tái)還包括 AMD ROCm 以及 OpenCL。

CUDA(Compute Unified Device Architectecture),是 NVIDIA 于 2006 年推出的通用并行計(jì)算架構(gòu),包含 CUDA 指令集架構(gòu)(ISA)和 GPU 內(nèi)部的并行計(jì)算引擎。該架構(gòu)允許開(kāi)發(fā)者使用高級(jí)編程語(yǔ)言(例如 C 語(yǔ)言)利用 GPU 硬件的并行計(jì)算能力并對(duì)計(jì)算任務(wù)進(jìn)行分配和管理,CUDA 提供了一種比 CPU 更有效的解決大規(guī)模數(shù)據(jù)計(jì)算問(wèn)題的方案,在深度學(xué)習(xí)訓(xùn)練和推理領(lǐng)域被廣泛使用。

b8d6af22-f50a-11ed-90ce-dac502259ad0.png

CUDA 除了是并行計(jì)算架構(gòu)外,還是 CPU 和 GPU 協(xié)調(diào)工作的通用語(yǔ)言。在CUDA 編程模型中,主要有 Host(主機(jī))和 Device(設(shè)備)兩個(gè)概念,Host 包含 CPU 和主機(jī)內(nèi)存,Device 包含 GPU 和顯存,兩者之間通過(guò) PCI Express 總線進(jìn)行數(shù)據(jù)傳輸。在具體的 CUDA 實(shí)現(xiàn)中,程序通常劃分為兩部分,在主機(jī)上運(yùn)行的 Host 代碼和在設(shè)備上運(yùn)行的 Device 代碼。Host 代碼負(fù)責(zé)程序整體的流程控制和數(shù)據(jù)交換,而 Device 代碼則負(fù)責(zé)執(zhí)行具體的計(jì)算任務(wù)。

一個(gè)完整的 CUDA程序是由一系列的設(shè)備端函數(shù)并行部分和主機(jī)端的串行處理部分共同組成的,主機(jī)和設(shè)備通過(guò)這種方式可以高效地協(xié)同工作,實(shí)現(xiàn) GPU 的加速計(jì)算。

b907a262-f50a-11ed-90ce-dac502259ad0.png

CUDA 在 Host 運(yùn)行的函數(shù)庫(kù)包括了開(kāi)發(fā)庫(kù)(Libraries)、運(yùn)行時(shí)(Runtime)和驅(qū)動(dòng)(Driver)三大部分。其中,Libraries 提供了一些常見(jiàn)的數(shù)學(xué)和科學(xué)計(jì)算任務(wù)運(yùn)算庫(kù),Runtime API 提供了便捷的應(yīng)用開(kāi)發(fā)接口和運(yùn)行期組件,開(kāi)發(fā)者可以通過(guò)調(diào)用 API 自動(dòng)管理 GPU 資源,而 Driver API 提供了一系列 C 函數(shù)庫(kù),能更底層、更高效地控制 GPU 資源,但相應(yīng)的開(kāi)發(fā)者需要手動(dòng)管理模塊編譯等復(fù)雜任務(wù)。

b9216454-f50a-11ed-90ce-dac502259ad0.png

CUDA 在 Device 上執(zhí)行的函數(shù)為內(nèi)核函數(shù)(Kernel)通常用于并行計(jì)算和數(shù)據(jù)處理。在 Kernel 中,并行部分由 K 個(gè)不同的 CUDA 線程并行執(zhí)行 K 次,而有別于普通的 C/C++函數(shù)只有 1 次。每一個(gè) CUDA 內(nèi)核都以一個(gè)聲明指定器開(kāi)始,程序員通過(guò)使用內(nèi)置變量__global__為每個(gè)線程提供一個(gè)唯一的全局 ID。一組線程被稱為 CUDA 塊(block)。CUDA 塊被分組為一個(gè)網(wǎng)格(grid),一個(gè)內(nèi)核以線程塊的網(wǎng)格形式執(zhí)行。每個(gè) CUDA 塊由一個(gè)流式多處理器(SM)執(zhí)行,不能遷移到 GPU 中的其他 SM,一個(gè) SM 可以運(yùn)行多個(gè)并發(fā)的 CUDA 塊,取決于CUDA 塊所需的資源,每個(gè)內(nèi)核在一個(gè)設(shè)備上執(zhí)行,CUDA 支持在一個(gè)設(shè)備上同時(shí)運(yùn)行多個(gè)內(nèi)核。

b950e29c-f50a-11ed-90ce-dac502259ad0.png

b99494b0-f50a-11ed-90ce-dac502259ad0.png

豐富而成熟的軟件生態(tài)是 CUDA 被廣泛使用的關(guān)鍵原因。

(1)編程語(yǔ)言:CUDA 從最初的 1.0 版本僅支持 C 語(yǔ)言編程,到現(xiàn)在的 CUDA 12.0 支持 C、C++、Fortran、Python 等多種編程語(yǔ)言。此外,NVIDIA 還支持了如 PyCUDA、ltimesh Hybridizer、OpenACC 等眾多第三方工具鏈,不斷提升開(kāi)發(fā)者的使用體驗(yàn)。

(2)庫(kù):NVIDIA 在 CUDA 平臺(tái)上提供了名為 CUDA-X 的集合層,開(kāi)發(fā)人員可以通過(guò) CUDA-X 快速部署如 cuBLA、NPP、NCCL、cuDNN、TensorRT、OpenCV 等多領(lǐng)域常用庫(kù)。

(3)其他:NVIDIA 還為 CUDA 開(kāi)發(fā)人員提供了容器部署流程簡(jiǎn)化以及集群環(huán)境擴(kuò)展應(yīng)用程序的工具,讓應(yīng)用程序更易加速,使得CUDA 技術(shù)能夠適用于更廣泛的領(lǐng)域。

ROCm (Radeon Open Compute Platform )是 AMD 基于開(kāi)源項(xiàng)目的 GPU計(jì)算生態(tài)系統(tǒng),類似于 NVIDIA 的 CUDA。ROCm 支持多種編程語(yǔ)言、編譯器、庫(kù)和工具,以加速科學(xué)計(jì)算、人工智能機(jī)器學(xué)習(xí)等領(lǐng)域的應(yīng)用。ROCm還支持多種加速器廠商和架構(gòu),提供了開(kāi)放的可移植性和互操作性。

ROCm 支持HIP(類 CUDA)和 OpenCL 兩種 GPU 編程模型,可實(shí)現(xiàn) CUDA 到 ROCm 的遷移。最新的 ROCm 5.0 支持 AMD Infinity Hub 上的人工智能框架容器,包括TensorFlow 1.x、PyTorch 1.8、MXNet 等,同時(shí)改進(jìn)了 ROCm 庫(kù)和工具的性能和穩(wěn)定性,包括 MIOpen、MIVisionX、rocBLAS、rocFFT、rocRAND 等。

b9cd4288-f50a-11ed-90ce-dac502259ad0.png

b9f20fc8-f50a-11ed-90ce-dac502259ad0.png

OpenCL(Open Compute Language),是面向異構(gòu)系統(tǒng)通用并行編程、可以在多個(gè)平臺(tái)和設(shè)備上運(yùn)行的開(kāi)放標(biāo)準(zhǔn)。OpenCL 支持多種編程語(yǔ)言和環(huán)境,并提供豐富的工具來(lái)幫助開(kāi)發(fā)和調(diào)試,可以同時(shí)利用 CPU、GPU、DSP 等不同類型的加速器來(lái)執(zhí)行任務(wù),并支持?jǐn)?shù)據(jù)傳輸和同步。

ba0f6302-f50a-11ed-90ce-dac502259ad0.png

ba2f7e30-f50a-11ed-90ce-dac502259ad0.png

此外,OpenCL 支持細(xì)粒度和粗粒度并行編程模型,可根據(jù)應(yīng)用需求選擇合適模型提高性能和效率。而 OpenCL可移植性有限,不同平臺(tái)和設(shè)備的功能支持和性能表現(xiàn)存在一定差異,與 CUDA相比缺少?gòu)V泛的社區(qū)支持和成熟的生態(tà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)投訴
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    27

    文章

    4631

    瀏覽量

    128440
  • 指令集
    +關(guān)注

    關(guān)注

    0

    文章

    221

    瀏覽量

    23323
  • 英偉達(dá)
    +關(guān)注

    關(guān)注

    22

    文章

    3680

    瀏覽量

    90475

原文標(biāo)題:GPU平臺(tái)生態(tài),英偉達(dá)CUDA和AMD ROCm對(duì)比分析

文章出處:【微信號(hào):架構(gòu)師技術(shù)聯(lián)盟,微信公眾號(hào):架構(gòu)師技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

    7月18日最新資訊,英國(guó)創(chuàng)新科技企業(yè)Spectral Compute震撼發(fā)布了其革命性GPGPU編程工具包——“SCALE”,該工具包實(shí)現(xiàn)了英偉達(dá)CUDA軟件在AMD
    的頭像 發(fā)表于 07-18 14:40 ?521次閱讀

    軟件生態(tài)上超越CUDA,究竟有多難?

    神壇的,還是圍繞CUDA打造的一系列軟件生態(tài)。 ? 英偉達(dá)——CUDA的絕對(duì)統(tǒng)治 ? 相信對(duì)GPU
    的頭像 發(fā)表于 06-20 00:09 ?3392次閱讀

    英偉達(dá)GPU新品規(guī)劃與HBM市場(chǎng)展望

    在COMPUTEX 2024主題演講中,英偉達(dá)(NVIDIA)公布了其GPU產(chǎn)品的未來(lái)規(guī)劃。據(jù)英偉達(dá)透露,B100、B200和GB200系列
    的頭像 發(fā)表于 06-13 09:44 ?680次閱讀

    英偉達(dá)CUDA-Q平臺(tái)推動(dòng)全球量子計(jì)算研究

    英偉達(dá)今日公布了其重要戰(zhàn)略決策,即采用開(kāi)源的CUDA-Q平臺(tái),旨在推動(dòng)德國(guó)、日本和波蘭等國(guó)家超運(yùn)中心在量子計(jì)算領(lǐng)域的創(chuàng)新研究。CUDA-Q作
    的頭像 發(fā)表于 05-14 11:45 ?573次閱讀

    進(jìn)一步解讀英偉達(dá) Blackwell 架構(gòu)、NVlink及GB200 超級(jí)芯片

    ,第五代NVLink、InfiniBand網(wǎng)絡(luò)和NVIDIA Magnum IO?軟件的支持,確保企業(yè)和廣泛GPU計(jì)算集群的高效可擴(kuò)展性。 HGX B200 深度學(xué)習(xí)推理能力 英偉達(dá)第五代 NVLink
    發(fā)表于 05-13 17:16

    英偉達(dá)、AMD、英特爾GPU產(chǎn)品及優(yōu)勢(shì)匯總

    電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)隨著人工智能技術(shù)的快速發(fā)展,GPU的市場(chǎng)規(guī)模在全球范圍內(nèi)持續(xù)提升。目前,GPU市場(chǎng)主要由英偉達(dá)AMD和英特爾
    的頭像 發(fā)表于 05-10 00:59 ?4434次閱讀

    印度政府考慮購(gòu)買英偉達(dá)GPU以發(fā)展人工智能生態(tài)系統(tǒng)

    關(guān)于GPU的購(gòu)買方式,政府正在考慮兩種方案。其一,由印度電子和信息技術(shù)部直接購(gòu)入英偉達(dá)GPU,再分發(fā)給各用戶;另一種則是市場(chǎng)化模式,鼓勵(lì)企業(yè)直接與
    的頭像 發(fā)表于 04-18 17:08 ?492次閱讀

    英偉達(dá)GPU壟斷局面下,開(kāi)源能否成為顛覆市場(chǎng)的關(guān)鍵力量?

    開(kāi)源是AMD AI軟硬件生態(tài)系統(tǒng)的一大賣點(diǎn),雖然ROCm軟件自 2016 年推出以來(lái)一直是開(kāi)源的,但是固件的開(kāi)源也很重要,AMD GPU
    發(fā)表于 04-18 14:25 ?384次閱讀
    <b class='flag-5'>英偉</b><b class='flag-5'>達(dá)</b><b class='flag-5'>GPU</b>壟斷局面下,開(kāi)源能否成為顛覆市場(chǎng)的關(guān)鍵力量?

    英偉達(dá)AI霸主地位遭巨頭聯(lián)手挑戰(zhàn),CUDA壟斷遭破局

    據(jù)最新外媒報(bào)道,科技界的巨頭們——高通、谷歌和英特爾等,已經(jīng)聯(lián)手向英偉達(dá)發(fā)起了一場(chǎng)挑戰(zhàn),意圖打破其在CUDA平臺(tái)上的壟斷局面。
    的頭像 發(fā)表于 03-28 14:39 ?864次閱讀

    摩爾線程MUSA/MUSIFY與英偉達(dá)CUDA無(wú)依賴,開(kāi)發(fā)者無(wú)憂

    首先,摩爾線程MUSA/MUSIFY并不受到英偉達(dá)CUDA這項(xiàng)條款的限制,使用者可以放心地使用其相關(guān)內(nèi)容。MUSA即摩爾線程自行研發(fā),享有高度自主知識(shí)產(chǎn)權(quán)的全功能GPU先進(jìn)計(jì)算統(tǒng)一系統(tǒng)
    的頭像 發(fā)表于 03-06 09:22 ?1094次閱讀

    AMD將推新GPU,效能媲美英偉達(dá)RTX 4080

    據(jù)悉,AMD正努力研制新品級(jí)GPU,性能堪比英偉達(dá)的RTX 4080,而售價(jià)卻只有后者的一半。據(jù)多個(gè)在線社區(qū)反映,AMD即將發(fā)布的Radeo
    的頭像 發(fā)表于 01-31 10:00 ?2527次閱讀

    臺(tái)積電財(cái)報(bào)引發(fā)股價(jià)漲,英偉達(dá)AMD再創(chuàng)新高

    在此次上漲趨勢(shì)中,英偉達(dá)AMD無(wú)疑占據(jù)了主導(dǎo)地位。英偉達(dá)占據(jù)AI GPU市場(chǎng)的大多數(shù)份額,然而
    的頭像 發(fā)表于 01-19 13:50 ?522次閱讀

    GPU技術(shù)、生態(tài)及算力分析

    對(duì)比AMD從2013年開(kāi)始建設(shè)GPU生態(tài),近10年時(shí)間后用于通用計(jì)算的ROCm開(kāi)放式軟件平臺(tái)才逐
    的頭像 發(fā)表于 01-14 10:06 ?1094次閱讀
    <b class='flag-5'>GPU</b>技術(shù)、<b class='flag-5'>生態(tài)</b>及算力<b class='flag-5'>分析</b>

    英偉達(dá)AMD發(fā)布適用于臺(tái)式電腦的新型AI芯片

    英偉達(dá)AMD這兩家GPU巨頭近日宣布,他們將發(fā)布適用于臺(tái)式電腦的新型AI芯片。
    的頭像 發(fā)表于 01-10 13:59 ?788次閱讀