- FP8 matrix multiplication (GEMM) को कुशलतापूर्वक चलाने वाली लाइब्रेरी, जो DeepSeek-V3 में प्रस्तावित fine-grained scaling विधि को सपोर्ट करती है
- सामान्य GEMM और Mix-of-Experts(MoE) grouped GEMM दोनों को सपोर्ट करती है
- CUDA आधारित इम्प्लीमेंटेशन, और इंस्टॉलेशन के समय अलग से compile किए बिना हल्का Just-In-Time(JIT) मॉड्यूल इस्तेमाल करके runtime में kernel compile करती है
- फिलहाल केवल NVIDIA Hopper tensor core के लिए सपोर्ट
- FP8 tensor core की inaccurate accumulation operations की भरपाई के लिए CUDA core आधारित dual accumulation (promotion) का उपयोग
- CUTLASS और CuTe की कुछ अवधारणाओं का उपयोग करती है, लेकिन complex template dependencies को कम करके लगभग 300 लाइनों के kernel code वाली सरल डिज़ाइन रखती है
- Hopper FP8 matrix operations और optimization techniques सीखने के लिए उपयुक्त
- हल्के डिज़ाइन के बावजूद, अलग-अलग matrix sizes में expert-level tuned libraries के समान या उससे बेहतर performance दिखाती है
प्रदर्शन मूल्यांकन
सामान्य GEMM प्रदर्शन (Dense model)
- विभिन्न matrix sizes पर DeepSeek-V3/R1 inference environment में performance evaluation किया गया
- NVIDIA H800 GPU(NVCC 12.8) environment में परीक्षण
- speedup metric की गणना CUTLASS 3.6 पर आधारित internal optimized version से तुलना करके की गई
- मुख्य प्रदर्शन सारांश
- छोटे matrix sizes में अधिकतम 2.7x speedup
- कुछ बड़े matrix sizes में 1.0~1.2x स्तर का प्रदर्शन बनाए रखा
- memory bandwidth और compute performance को optimize करके Hopper architecture के लिए optimized performance दी
MoE models के लिए grouped GEMM प्रदर्शन
- contiguous layout वाले grouped GEMM
- M-axis के आधार पर grouping की जाती है, जबकि N और K समान रहते हैं
- अधिकतम 1.2x speedup दिखाता है, और कुछ configurations में 1.1x स्तर बनाए रखता है
- masked layout वाले grouped GEMM
- CUDA graph इस्तेमाल करने पर, जब CPU को हर expert के token count का पता नहीं होता, उस स्थिति के लिए डिज़ाइन
- input के रूप में mask tensor देकर केवल आवश्यक operations किए जाते हैं
- performance improvement 1.1x~1.2x के स्तर पर
अभी कोई टिप्पणी नहीं है.