近日,摩爾線程宣布正式開源高性能線性代數(shù)模板庫MUTLASS,這一舉措旨在幫助開發(fā)者更高效地針對(duì)摩爾線程GPU的MUSA Core及Tensor Core等單元進(jìn)行編程,從而加速基于國產(chǎn)GPU的算子開發(fā)以及算法創(chuàng)新。MUTLASS的開源地址為:https://github.com/MooreThreads/mutlass。 作為摩爾線程專為自研MUSA架構(gòu)優(yōu)化的高性能計(jì)算庫,MUTLASS(MUSA Templates for Linear Algebra Subroutines)是基于開源模板庫CUTLASS進(jìn)行的MUSA適配和定制化開發(fā)、優(yōu)化。在數(shù)值計(jì)算和深度學(xué)習(xí)領(lǐng)域,矩陣乘法(GEMM)及其變種(如FlashAttention、Convolution)是構(gòu)建復(fù)雜上層應(yīng)用的基石。然而,為了追求更高的算子融合效率或更創(chuàng)新的算法,開發(fā)者們往往需要超越標(biāo)準(zhǔn)化計(jì)算接口的限制,如標(biāo)準(zhǔn)BLAS接口以及芯片廠商的計(jì)算庫接口,以實(shí)現(xiàn)高性能的定制化算子。MUTLASS正是為滿足這一需求而設(shè)計(jì)。 針對(duì)矩陣乘法及相關(guān)變種,MUTLASS提供了一系列高性能的C++模板組件,并采用了與muDNN庫類似的分層分解及數(shù)據(jù)搬運(yùn)策略,以確保性能的充分發(fā)揮。在本次開源的版本中,摩爾線程適配了CuTe后端庫,為其增加了第三代MUSA架構(gòu)的MMA計(jì)算原語,支持TF32/FP16/BF16/INT8等多種數(shù)據(jù)精度。以此為基礎(chǔ),初步實(shí)現(xiàn)了矩陣乘法、默認(rèn)實(shí)例庫、性能測試器及相關(guān)工具包的支持。 借助MUTLASS,開發(fā)者們既可以靈活復(fù)用不同層級(jí)的模板組件,也可以按需修改各種模板組件的實(shí)現(xiàn)細(xì)節(jié),以較低的開發(fā)成本實(shí)現(xiàn)定制化的高性能算子。這將在摩爾線程全功能GPU上充分釋放性能,并鼓勵(lì)開發(fā)者嘗試更多的算法創(chuàng)新。摩爾線程表示,將持續(xù)優(yōu)化MUTLASS的性能,并不斷引入新的功能。 摩爾線程的這一開源舉措,不僅為開發(fā)者提供了更為便捷和高效的工具,同時(shí)也展示了摩爾線程在推動(dòng)國產(chǎn)GPU生態(tài)建設(shè)方面的堅(jiān)定決心。此前,摩爾線程已經(jīng)相繼開源了OpenCV-MUSA計(jì)算機(jī)視覺庫、MooER音頻理解大模型以及vLLM-MUSA大語言模型高速推理框架,這些開源項(xiàng)目都在不同程度上促進(jìn)了基于摩爾線程GPU的應(yīng)用開發(fā)和算法創(chuàng)新。 |