CUTLASS 是 CUDA C ++模板抽象的集合,用于在 CUDA 的所有級(jí)別和規(guī)模上實(shí)現(xiàn)高性能矩陣乘法( GEMM )。它結(jié)合了分層分解和數(shù)據(jù)移動(dòng)的策略,類似于用于實(shí)現(xiàn)cuBLAS的策略。
CUTLASS 將這些“運(yùn)動(dòng)部件”分解為 C ++模板類抽象的可重用和模塊化的軟件組件。這些線程范圍、扭曲范圍、塊范圍和設(shè)備范圍的原語(yǔ)可以通過(guò)自定義平鋪大小、數(shù)據(jù)類型和其他算法策略進(jìn)行專門化和調(diào)優(yōu)。由此產(chǎn)生的靈活性簡(jiǎn)化了它們?cè)诙ㄖ苾?nèi)核和應(yīng)用程序中作為構(gòu)建塊的使用。
為了支持多種應(yīng)用程序, CUTLASS 為混合精度計(jì)算提供了廣泛的支持,提供了專門的數(shù)據(jù)移動(dòng),并為以下各項(xiàng)提供了多重累積抽象:
半精度浮點(diǎn)(FP16)、 BFloat16 (BF16)和張量浮點(diǎn) 32 (TF32)數(shù)據(jù)類型。
單精度浮點(diǎn)(FP32)數(shù)據(jù)類型。
雙精度浮點(diǎn)(FP64)數(shù)據(jù)類型。
整數(shù)數(shù)據(jù)類型(4b和8b)。
二進(jìn)制數(shù)據(jù)類型(1b)。
此外, CUTLASS 演示了針對(duì) NVIDIA Volta 、 Turing 和 Ampere 體系結(jié)構(gòu)上實(shí)現(xiàn)的可編程、高通量 Tensor 核的扭曲同步矩陣乘法操作。
CUTLASS 實(shí)現(xiàn)了高性能卷積(隱式 GEMM )。隱式 GEMM 是作為 GEMM 的卷積運(yùn)算的公式。這允許 Cutslass 通過(guò)重用高度優(yōu)化的 warp-wide GEMM 組件和以下組件來(lái)構(gòu)建卷積。
關(guān)于作者
Matthew Nicely 于 2019 年 3 月加入 NVIDIA ,之前曾在美國(guó) AL-Huntsville 的美國(guó)陸軍航空和導(dǎo)彈研究開發(fā)與工程中心工作。在那里,他專注于 CUDA 算法開發(fā)和 Jetson 系列的優(yōu)化。在 NVIDIA ,他曾在聯(lián)邦部門工作,協(xié)助 CUDA 的開發(fā)和優(yōu)化,以及在各種 NVIDIA 工具集上為客戶提供教育和概念驗(yàn)證,最近轉(zhuǎn)為 math libraries 產(chǎn)品經(jīng)理。 2019 年,他獲得了博士學(xué)位。計(jì)算機(jī)工程學(xué)位,專注于 GPU 的算法優(yōu)化。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5592瀏覽量
109720 -
CUDA
+關(guān)注
關(guān)注
0文章
127瀏覽量
14475
發(fā)布評(píng)論請(qǐng)先 登錄
CDCVF25084:高性能時(shí)鐘乘法器的深度剖析
如何在NVIDIA CUDA Tile中編寫高性能矩陣乘法
深入剖析ADL5391:高性能模擬乘法器的卓越之選
深入剖析AD632:高性能四象限乘法器/除法器
高性能四象限模擬乘法器AD734:精準(zhǔn)與高速的完美結(jié)合
高性能模擬乘法器AD834:特點(diǎn)、應(yīng)用與設(shè)計(jì)要點(diǎn)
AD539:高性能寬帶雙聲道線性乘法/除法器的深度剖析
AD532:高性能單芯片乘法器/除法器的卓越之選
SLG47525/28:高性能可編程混合信號(hào)矩陣的深度剖析
一個(gè)提升蜂鳥E203性能的方法:乘除法器優(yōu)化
關(guān)于E203內(nèi)核高性能乘法器優(yōu)化(二)
關(guān)于E203內(nèi)核高性能乘法器優(yōu)化(一)
蜂鳥乘法器設(shè)計(jì)分享
e203乘法運(yùn)算結(jié)構(gòu)及算法原理
Arm KleidiAI與XNNPack集成實(shí)現(xiàn)AI性能提升
使用CUTLASS實(shí)現(xiàn)高性能矩陣乘法
評(píng)論