chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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)員 ? 來(lái)源:NVIDIA ? 作者:Ken He ? 2022-04-20 17:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本章和下一章中使用的向量加法示例的完整代碼可以在 vectorAddCUDA示例中找到。

2.1 內(nèi)核

CUDA C++ 通過(guò)允許程序員定義稱為kernel的 C++ 函數(shù)來(lái)擴(kuò)展 C++,當(dāng)調(diào)用內(nèi)核時(shí),由 N 個(gè)不同的 CUDA 線程并行執(zhí)行 N 次,而不是像常規(guī) C++ 函數(shù)那樣只執(zhí)行一次。

使用__global__聲明說(shuō)明符定義內(nèi)核,并使用新的<<<...>>>執(zhí)行配置語(yǔ)法指定內(nèi)核調(diào)用的 CUDA 線程數(shù)(請(qǐng)參閱C++ 語(yǔ)言擴(kuò)展)。 每個(gè)執(zhí)行內(nèi)核的線程都有一個(gè)唯一的線程 ID,可以通過(guò)內(nèi)置變量在內(nèi)核中訪問(wèn)。

作為說(shuō)明,以下示例代碼使用內(nèi)置變量threadIdx將兩個(gè)大小為 N 的向量 A 和 B 相加,并將結(jié)果存儲(chǔ)到向量 C 中:

// Kernel definition
__global__ void VecAdd(float* A, float* B, float* C)
{
    int i = threadIdx.x;
    C[i] = A[i] + B[i];
}

int main()
{
    ...
    // Kernel invocation with N threads
    VecAdd<<<1, N>>>(A, B, C);
    ...
}

這里,執(zhí)行 VecAdd() 的 N 個(gè)線程中的每一個(gè)線程都會(huì)執(zhí)行一個(gè)加法。

2.2 線程層次

為方便起見,threadIdx 是一個(gè) 3 分量向量,因此可以使用一維、二維或三維的線程索引來(lái)識(shí)別線程,形成一個(gè)一維、二維或三維的線程塊,稱為block。 這提供了一種跨域的元素(例如向量、矩陣或體積)調(diào)用計(jì)算的方法。

線程的索引和它的線程 ID 以一種直接的方式相互關(guān)聯(lián):對(duì)于一維塊,它們是相同的; 對(duì)于大小為(Dx, Dy)的二維塊,索引為(x, y)的線程的線程ID為(x + y*Dx); 對(duì)于大小為 (Dx, Dy, Dz) 的三維塊,索引為 (x, y, z) 的線程的線程 ID 為 (x + y*Dx + z*Dx*Dy)。

例如,下面的代碼將兩個(gè)大小為NxN的矩陣A和B相加,并將結(jié)果存儲(chǔ)到矩陣C中:

// Kernel definition
__global__ void MatAdd(float A[N][N], float B[N][N],
float C[N][N])
{
    int i = blockIdx.x * blockDim.x + threadIdx.x;
    int j = blockIdx.y * blockDim.y + threadIdx.y;
    if (i < N && j < N)
        C[i][j] = A[i][j] + B[i][j];
}

int main()
{
    ...
    // Kernel invocation
    dim3 threadsPerBlock(16, 16);
    dim3 numBlocks(N / threadsPerBlock.x, N / threadsPerBlock.y);
    MatAdd<<>>(A, B, C);
    ...
}

每個(gè)塊的線程數(shù)量是有限制的,因?yàn)橐粋€(gè)塊的所有線程都應(yīng)該駐留在同一個(gè)處理器核心上,并且必須共享該核心有限的內(nèi)存資源。在當(dāng)前的gpu上,一個(gè)線程塊可能包含多達(dá)1024個(gè)線程。

但是,一個(gè)內(nèi)核可以由多個(gè)形狀相同的線程塊執(zhí)行,因此線程總數(shù)等于每個(gè)塊的線程數(shù)乘以塊數(shù)。

塊被組織成一維、二維或三維的線程塊網(wǎng)格(grid),如下圖所示。網(wǎng)格中的線程塊數(shù)量通常由正在處理的數(shù)據(jù)的大小決定,通常超過(guò)系統(tǒng)中的處理器數(shù)量。

poYBAGJfz1SAc0eUAAAzEbPU_94657.png

<<<...>>>語(yǔ)法中指定的每個(gè)塊的線程數(shù)和每個(gè)網(wǎng)格的塊數(shù)可以是int或dim3類型。如上例所示,可以指定二維塊或網(wǎng)格。

網(wǎng)格中的每個(gè)塊都可以由一個(gè)一維、二維或三維的惟一索引標(biāo)識(shí),該索引可以通過(guò)內(nèi)置的blockIdx變量在內(nèi)核中訪問(wèn)。線程塊的維度可以通過(guò)內(nèi)置的blockDim變量在內(nèi)核中訪問(wèn)。

擴(kuò)展前面的MatAdd()示例來(lái)處理多個(gè)塊,代碼如下所示。

// Kernel definition
__global__ void MatAdd(float A[N][N], float B[N][N],
                       float C[N][N])
{
    int i = threadIdx.x;
    int j = threadIdx.y;
    C[i][j] = A[i][j] + B[i][j];
}

int main()
{
    ...
    // Kernel invocation with one block of N * N * 1 threads
    int numBlocks = 1;
    dim3 threadsPerBlock(N, N);
    MatAdd<<>>(A, B, C);
    ...
}

線程塊大小為16×16(256個(gè)線程),盡管在本例中是任意更改的,但這是一種常見的選擇。網(wǎng)格是用足夠的塊創(chuàng)建的,這樣每個(gè)矩陣元素就有一個(gè)線程來(lái)處理。為簡(jiǎn)單起見,本例假設(shè)每個(gè)維度中每個(gè)網(wǎng)格的線程數(shù)可以被該維度中每個(gè)塊的線程數(shù)整除,盡管事實(shí)并非如此。

程塊需要獨(dú)立執(zhí)行:必須可以以任何順序執(zhí)行它們,并行或串行。 這種獨(dú)立性要求允許跨任意數(shù)量的內(nèi)核以任意順序調(diào)度線程塊,如下圖所示,使程序員能夠編寫隨內(nèi)核數(shù)量擴(kuò)展的代碼。

pYYBAGJfz1WAV_XeAAAimxxX_Gg894.png

塊內(nèi)的線程可以通過(guò)一些共享內(nèi)存共享數(shù)據(jù)并通過(guò)同步它們的執(zhí)行來(lái)協(xié)調(diào)內(nèi)存訪問(wèn)來(lái)進(jìn)行協(xié)作。 更準(zhǔn)確地說(shuō),可以通過(guò)調(diào)用__syncthreads()內(nèi)部函數(shù)來(lái)指定內(nèi)核中的同步點(diǎn);__syncthreads()充當(dāng)屏障,塊中的所有線程必須等待,然后才能繼續(xù)。Shared Memory給出了一個(gè)使用共享內(nèi)存的例子。 除了__syncthreads()之外,Cooperative Groups API還提供了一組豐富的線程同步示例。

為了高效協(xié)作,共享內(nèi)存是每個(gè)處理器內(nèi)核附近的低延遲內(nèi)存(很像 L1 緩存),并且__syncthreads()是輕量級(jí)的。

2.3 存儲(chǔ)單元層次

CUDA 線程可以在執(zhí)行期間從多個(gè)內(nèi)存空間訪問(wèn)數(shù)據(jù),如下圖所示。每個(gè)線程都有私有的本地內(nèi)存。 每個(gè)線程塊都具有對(duì)該塊的所有線程可見的共享內(nèi)存,并且具有與該塊相同的生命周期。 所有線程都可以訪問(wèn)相同的全局內(nèi)存。

poYBAGJfz1aAANKCAABEZXfRSos283.png

還有兩個(gè)額外的只讀內(nèi)存空間可供所有線程訪問(wèn):常量和紋理內(nèi)存空間。 全局、常量和紋理內(nèi)存空間針對(duì)不同的內(nèi)存使用進(jìn)行了優(yōu)化(請(qǐng)參閱設(shè)備內(nèi)存訪問(wèn))。 紋理內(nèi)存還為某些特定數(shù)據(jù)格式提供不同的尋址模式以及數(shù)據(jù)過(guò)濾(請(qǐng)參閱紋理和表面內(nèi)存)。

全局、常量和紋理內(nèi)存空間在同一應(yīng)用程序的內(nèi)核啟動(dòng)中是持久的。

2.4 異構(gòu)編程

如下圖所示,CUDA 編程模型假定 CUDA 線程在物理獨(dú)立的設(shè)備上執(zhí)行,該設(shè)備作為運(yùn)行 C++ 程序的主機(jī)的協(xié)處理器運(yùn)行。例如,當(dāng)內(nèi)核在 GPU 上執(zhí)行而 C++ 程序的其余部分在 CPU 上執(zhí)行時(shí),就是這種情況。

pYYBAGJfz1eASl19AAFTsEqvGdo417.png

CUDA 編程模型還假設(shè)主機(jī)(host)和設(shè)備(device)都在 DRAM 中維護(hù)自己獨(dú)立的內(nèi)存空間,分別稱為主機(jī)內(nèi)存和設(shè)備內(nèi)存。因此,程序通過(guò)調(diào)用 CUDA 運(yùn)行時(shí)(在編程接口中描述)來(lái)管理內(nèi)核可見的全局、常量和紋理內(nèi)存空間。這包括設(shè)備內(nèi)存分配和釋放以及主機(jī)和設(shè)備內(nèi)存之間的數(shù)據(jù)傳輸。

統(tǒng)一內(nèi)存提供托管內(nèi)存來(lái)橋接主機(jī)和設(shè)備內(nèi)存空間。托管內(nèi)存可從系統(tǒng)中的所有 CPU 和 GPU 訪問(wèn),作為具有公共地址空間的單個(gè)連貫內(nèi)存映像。此功能可實(shí)現(xiàn)設(shè)備內(nèi)存的超額訂閱,并且無(wú)需在主機(jī)和設(shè)備上顯式鏡像數(shù)據(jù),從而大大簡(jiǎn)化了移植應(yīng)用程序的任務(wù)。有關(guān)統(tǒng)一內(nèi)存的介紹,請(qǐng)參閱統(tǒng)一內(nèi)存編程。

注:串行代碼在主機(jī)(host)上執(zhí)行,并行代碼在設(shè)備(device)上執(zhí)行。

2.5 異步SIMT編程模型

在 CUDA 編程模型中,線程是進(jìn)行計(jì)算或內(nèi)存操作的最低抽象級(jí)別。 從基于 NVIDIA Ampere GPU 架構(gòu)的設(shè)備開始,CUDA 編程模型通過(guò)異步編程模型為內(nèi)存操作提供加速。 異步編程模型定義了與 CUDA 線程相關(guān)的異步操作的行為。

異步編程模型為 CUDA 線程之間的同步定義了異步屏障的行為。 該模型還解釋并定義了如何使用 cuda::memcpy_async 在 GPU計(jì)算時(shí)從全局內(nèi)存中異步移動(dòng)數(shù)據(jù)。

2.5.1 異步操作

異步操作定義為由CUDA線程發(fā)起的操作,并且與其他線程一樣異步執(zhí)行。在結(jié)構(gòu)良好的程序中,一個(gè)或多個(gè)CUDA線程與異步操作同步。發(fā)起異步操作的CUDA線程不需要在同步線程中.

這樣的異步線程(as-if 線程)總是與發(fā)起異步操作的 CUDA 線程相關(guān)聯(lián)。異步操作使用同步對(duì)象來(lái)同步操作的完成。這樣的同步對(duì)象可以由用戶顯式管理(例如,cuda::memcpy_async)或在庫(kù)中隱式管理(例如,cooperative_groups::memcpy_async)。

同步對(duì)象可以是cuda::barrier或cuda::pipeline。這些對(duì)象在Asynchronous Barrier和Asynchronous Data Copies using cuda::pipeline.中進(jìn)行了詳細(xì)說(shuō)明。這些同步對(duì)象可以在不同的線程范圍內(nèi)使用。作用域定義了一組線程,這些線程可以使用同步對(duì)象與異步操作進(jìn)行同步。下表定義了CUDA c++中可用的線程作用域,以及可以與每個(gè)線程同步的線程。

這些線程作用域是在CUDA標(biāo)準(zhǔn)c++庫(kù)中作為標(biāo)準(zhǔn)c++的擴(kuò)展實(shí)現(xiàn)的。

2.6 Compute Capability

設(shè)備的Compute Capability由版本號(hào)表示,有時(shí)也稱其“SM版本”。該版本號(hào)標(biāo)識(shí)GPU硬件支持的特性,并由應(yīng)用程序在運(yùn)行時(shí)使用,以確定當(dāng)前GPU上可用的硬件特性和指令。

Compute Capability包括一個(gè)主要版本號(hào)X和一個(gè)次要版本號(hào)Y,用X.Y表示

主版本號(hào)相同的設(shè)備具有相同的核心架構(gòu)。設(shè)備的主要修訂號(hào)是8,為NVIDIA Ampere GPU的體系結(jié)構(gòu)的基礎(chǔ)上,7基于Volta設(shè)備架構(gòu),6設(shè)備基于Pascal架構(gòu),5設(shè)備基于Maxwell架構(gòu),3基于Kepler架構(gòu)的設(shè)備,2設(shè)備基于Fermi架構(gòu),1是基于Tesla架構(gòu)的設(shè)備。

次要修訂號(hào)對(duì)應(yīng)于對(duì)核心架構(gòu)的增量改進(jìn),可能包括新特性。

Turing是計(jì)算能力7.5的設(shè)備架構(gòu),是基于Volta架構(gòu)的增量更新。

CUDA-Enabled GPUs列出了所有支持 CUDA 的設(shè)備及其計(jì)算能力。Compute Capabilities給出了每個(gè)計(jì)算能力的技術(shù)規(guī)格。

關(guān)于作者

Ken He 是 NVIDIA 企業(yè)級(jí)開發(fā)者社區(qū)經(jīng)理 & 高級(jí)講師,擁有多年的 GPU 和人工智能開發(fā)經(jīng)驗(yàn)。自 2017 年加入 NVIDIA 開發(fā)者社區(qū)以來(lái),完成過(guò)上百場(chǎng)培訓(xùn),幫助上萬(wàn)個(gè)開發(fā)者了解人工智能和 GPU 編程開發(fā)。在計(jì)算機(jī)視覺,高性能計(jì)算領(lǐng)域完成過(guò)多個(gè)獨(dú)立項(xiàng)目。并且,在機(jī)器人無(wú)人機(jī)領(lǐng)域,有過(guò)豐富的研發(fā)經(jīng)驗(yàn)。對(duì)于圖像識(shí)別,目標(biāo)的檢測(cè)與跟蹤完成過(guò)多種解決方案。曾經(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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    5565

    瀏覽量

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

    關(guān)注

    28

    文章

    5149

    瀏覽量

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

    關(guān)注

    1814

    文章

    49955

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(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 ?6380次閱讀
    RV生態(tài)又一里程碑:英偉達(dá)官宣<b class='flag-5'>CUDA</b>將兼容RISC-V架構(gòu)!

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

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

    在Python中借助NVIDIA CUDA Tile簡(jiǎn)化GPU編程

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

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

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

    首款全國(guó)產(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 ?9333次閱讀
    首款全國(guó)產(chǎn)訓(xùn)推一體AI芯片發(fā)布,兼容<b class='flag-5'>CUDA</b>生態(tài)

    NVIDIA Jetson + Isaac SDK 在人形機(jī)器人領(lǐng)域的方案詳解

    NVIDIA Jetson + Isaac SDK 在人形機(jī)器人領(lǐng)域的 方案詳解 ,涵蓋芯片型號(hào)、軟件平臺(tái)、開發(fā)工具鏈、應(yīng)用場(chǎng)景與典型客戶等。 一、方案概述:Jetson + Isaac SDK
    的頭像 發(fā)表于 07-30 16:05 ?3422次閱讀

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

    請(qǐng)問(wèn)有人知道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)了對(duì) RISC-V 架構(gòu)的高度重視與積極布局。 ? Frans Sijstermanns 首先回顧了英偉達(dá)與 RISC-V 之間
    發(fā)表于 07-17 16:30 ?3907次閱讀

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

    Triton是由OpenAI開發(fā)的一個(gè)開源編程語(yǔ)言和編譯器,旨在簡(jiǎn)化高性能GPU內(nèi)核的編寫。它提供了類似Python的語(yǔ)法,并通過(guò)高級(jí)抽象降低了GPU編程的復(fù)雜性,同時(shí)保持了高性能。目前
    的頭像 發(fā)表于 07-15 09:04 ?1657次閱讀
    進(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

    如何基于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 ?755次閱讀
    如何基于Kahn處理網(wǎng)絡(luò)定義AI引擎圖形<b class='flag-5'>編程</b><b class='flag-5'>模型</b>

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

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

    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件實(shí)現(xiàn)自動(dòng)化代碼編程!

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力 一,概述 隨著人工智能技術(shù)的快速發(fā)展,自動(dòng)化編程工具逐漸成為開發(fā)者的得力助手。QWQ:32B 模型是一種先進(jìn)的自然語(yǔ)言處理模型,能夠理解并生成
    的頭像 發(fā)表于 03-21 18:12 ?1211次閱讀
    使用 QWQ:32B <b class='flag-5'>模型</b>搭配 VSCode 的 Cline 插件實(shí)現(xiàn)自動(dòng)化代碼<b class='flag-5'>編程</b>!

    開發(fā)者日記 | 模型轉(zhuǎn)換看得見:RDK X5新一代模型轉(zhuǎn)換可視化工具鏈

    熊旗24年智能車競(jìng)賽地平線賽道國(guó)獎(jiǎng)獲得者創(chuàng)客孵化營(yíng)成員嵌入式AI大膽玩家目標(biāo)是減少開發(fā)者煩惱Part.1開發(fā)者日記Showtime:RDK模型一站式開發(fā)工具功能展示Part.2開發(fā)者日記故事的開始
    的頭像 發(fā)表于 03-04 17:28 ?1468次閱讀
    開發(fā)者日記 | <b class='flag-5'>模型</b>轉(zhuǎn)換看得見:RDK X5新一代<b class='flag-5'>模型</b>轉(zhuǎn)換可視化工具鏈

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

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