DeepSeek公司在近期舉行的開源周活動(dòng)中,持續(xù)推動(dòng)其技術(shù)開放步伐,繼MLA解碼核FlashMLA和DeepEP代碼庫(kù)之后,再度邁出重要一步,正式對(duì)外公布了DeepGEMM代碼庫(kù)。
DeepGEMM是一款專為高效FP8通用矩陣乘法(GEMM)設(shè)計(jì)的工具庫(kù),其核心目標(biāo)是強(qiáng)化V3/R1訓(xùn)練和推理任務(wù)的處理能力。該庫(kù)不僅支持傳統(tǒng)的矩陣運(yùn)算,還特別針對(duì)專家混合(MoE)分組的GEMM運(yùn)算進(jìn)行了優(yōu)化,全部采用CUDA語(yǔ)言編寫。
據(jù)悉,DeepGEMM的一大亮點(diǎn)在于其安裝流程的便捷性。用戶無(wú)需進(jìn)行繁瑣的編譯操作,而是依靠運(yùn)行時(shí)的輕量級(jí)即時(shí)編譯模塊,動(dòng)態(tài)生成所需的內(nèi)核代碼。這一設(shè)計(jì)極大地提升了使用的便利性。
目前,DeepGEMM主要適用于英偉達(dá)Hopper架構(gòu)的硬件環(huán)境。為了解決FP8張量核心累加過(guò)程中可能出現(xiàn)的精度問(wèn)題,該庫(kù)創(chuàng)新性地采用了兩級(jí)累加方法,確保能夠充分利用CUDA核心的性能優(yōu)勢(shì)。DeepGEMM的代碼設(shè)計(jì)極為精簡(jiǎn),其核心功能高度集成在一個(gè)內(nèi)核函數(shù)中,整個(gè)代碼庫(kù)的總代碼量?jī)H為約300行。
盡管體積小巧,但DeepGEMM在計(jì)算性能上的表現(xiàn)卻不容小覷。經(jīng)過(guò)DeepSeek團(tuán)隊(duì)的嚴(yán)格測(cè)試,該庫(kù)在不同矩陣形狀下的計(jì)算性能均表現(xiàn)出色,甚至能夠與經(jīng)過(guò)深度優(yōu)化的專業(yè)庫(kù)相媲美或超越。特別是在H800 GPU上使用NVCC 12.8編譯器進(jìn)行全面評(píng)估時(shí),DeepGEMM的計(jì)算性能最高可達(dá)1358 TFLOPS,內(nèi)存帶寬峰值為2668 GB/s。與基于CUTLASS 3.6的優(yōu)化實(shí)現(xiàn)相比,其性能提升幅度最高可達(dá)2.7倍。在分組GEMM(MoE模型)的連續(xù)性布局和掩碼布局下,DeepGEMM的性能提升同樣顯著,可達(dá)1.2倍以上。
值得注意的是,使用DeepGEMM還需滿足一定的環(huán)境要求。硬件方面,需要支持Hopper架構(gòu)(sm_90a);操作系統(tǒng)則需安裝Python 3.8或更高版本;CUDA版本需為12.3及以上(推薦使用12.8);同時(shí),還需配備PyTorch 2.1及以上版本以及CUTLASS 3.6及以上版本。這些要求確保了DeepGEMM能夠在最佳狀態(tài)下運(yùn)行,發(fā)揮出其卓越的計(jì)算性能。