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