DeepSeek DeepGEMM: SM90·SM100 GPU를 위한 경량 고성능 BLAS 및 MoE 커널 라이브러리
DeepSeek이 공개한 GPU 텐서 코어 커널 라이브러리 DeepGEMM. 런타임 JIT 컴파일로 설치 사전 컴파일을 없애고 FP8/FP4/BF16 GEMM, 통신·연산 오버랩 Mega MoE, MQA 스코어링 커널을 단일 코드베이스로 제공합니다.
DeepSeek이 최신 대규모 언어 모델(LLM) 서빙과 추론 핵심 연산 프리미티브를 단일 CUDA 코드베이스로 결합한 오픈소스 GPU 텐서 코어 커널 라이브러리 'DeepGEMM'을 오픈소스로 공개했습니다.

이미지 출처: deepseek-ai/DeepGEMM (GitHub)
DeepGEMM은 대규모 언어 모델 아키텍처에 필수적인 연산 요소인 다양한 정밀도(FP8, FP4, BF16)의 GEMM, 통신과 연산을 한 번에 중첩(overlap) 처리하는 Mega MoE, MQA(Multi-Query Attention) 스코어링 커널, HyperConnection(HC) 등을 통합 제공합니다. NVIDIA CUTLASS와 CuTe의 핵심 설계 개념을 참조하되, 지나치게 무거운 템플릿 대수학 의존성을 배제하고 간결한 핵심 커널 구현으로 정리한 점이 특징입니다.
런타임 JIT 컴파일과 복잡한 사전 빌드 오버헤드 제거
기존 고성능 CUDA 라이브러리들은 설치 시점에 수많은 템플릿 인스턴스를 컴파일하느라 긴 빌드 시간과 복잡한 환경 설정 문제를 안고 있었습니다.
DeepGEMM은 경량 런타임 JIT(Just-In-Time) C++ 모듈을 채택하여 설치 시 별도의 CUDA 사전 컴파일 과정을 거치지 않습니다. 모든 커널은 프로그램 실행 시점(Runtime)에 실제 입력 텐서 규격과 하드웨어 아키텍처에 맞춰 즉시 컴파일됩니다. 덕분에 사용자는 복잡한 빌드 에러 없이 파이썬 환경에서 직관적으로 라이브러리를 임포트하여 활용할 수 있습니다.
NVIDIA Hopper(SM90) 및 Blackwell(SM100) 아키텍처 최적화
DeepGEMM은 최신 엔터프라이즈 GPU 아키텍처인 NVIDIA Hopper(SM90)와 Blackwell(SM100)을 집중 지원합니다.
- Hopper(SM90): 미세 스케일링 팩터(FP32 Scaling Factor)를 지원하며 표준 NT(Non-transposed / Transposed) 메모리 레이아웃 GEMM을 가속합니다.
- Blackwell(SM100): 패킹된 UE8M0 포맷을 지원하며, 텐서 코어 효율을 극대화하기 위해 4가지 메모리 레이아웃(NT, TN, NN, TT) 전체와 그룹화된 GEMM(Grouped GEMM) 디스패치를 지원합니다.
- 다양한 수치 정밀도: FP8 및 BF16은 물론, 최신 세대 모델 가속에 활용되는 FP8xFP4 연산 커널을 정교하게 제어할 수 있습니다.
Mega MoE: 통신과 텐서 연산의 통합 중첩 처리
DeepGEMM의 주요 핵심 기능 중 하나는 전문가 혼합(Mixture of Experts, MoE) 계층을 가속하는 'Mega MoE' 엔진입니다.
기존 분산 MoE 추론 파이프라인에서는 전문가(Expert) 라우팅을 위한 통신과 GPU 텐서 코어 연산이 단계별로 분리되어 있어 통신 병목이 발생하기 쉬웠습니다. DeepGEMM은 최신 릴리스에서 기존 11개 커널을 단일 메가 커널로 통합 융합(fuse)하고, 공유 전문가(Shared Experts) 연산까지 결합했습니다.
- 커널 통합 및 공유 전문가 융합: 라우팅 전문가 연산뿐 아니라 공유 전문가(SharedLinear 1/2) 블록까지 단일 커널 파이프라인으로 통합하여 BF16 및 FP8xFP4 정밀도 전반을 지원합니다.
- 커널 내부 동적 스케줄링: 호스트 측 휴리스틱 대신 커널 내 태스크 스케줄러를 도입하여 L1 및 L2 블록을 인터리빙(Interleaving) 처리함으로써 NVLink 통신과 텐서 코어 연산의 중첩(overlap)을 극대화했습니다.
- 성능 개선: 이 같은 통합 최적화를 통해 이전 버전 대비 Mega MoE 연산 속도를 20% 향상시켰으며, 엔드투엔드(E2E) 추론 성능에서도 10% 이상의 속도 개선을 달성했습니다.
최소 요구 사양 및 실무 적용 시 고려 사항
실무 환경에서 DeepGEMM을 도입하기 전 확인해야 할 사양과 제약 사항은 다음과 같습니다.
- 하드웨어 및 소프트웨어 요구 사양: NVIDIA SM90(Hopper) 또는 SM100(Blackwell) 아키텍처 GPU, Python 3.8 이상, PyTorch 2.1 이상, C++20 지원 컴파일러가 필요합니다. CUDA Toolkit의 경우 SM90은 12.3 이상(최적 성능을 위해 12.9 이상 권장), SM100은 12.9 이상이 필수입니다.
- 사전 텐서 변환 미지원: 입력 행렬의 전치(Transposition)나 FP8 양자화 캐스팅과 같은 전처리 단계는 DeepGEMM 커널 내부에서 자동으로 융합되지 않습니다. 특히 SM90은 NT 레이아웃만 지원하므로, 파이프라인을 구성할 때 이전 커널 단계에서 변환을 완료하거나 별도의 명시적 처리가 필요합니다.
- 대칭 메모리 버퍼 슬라이스: Mega MoE 파이프라인은 통신 오버랩과 공유 전문가(Shared Experts) 처리를 위해 대칭 메모리(symmetric memory) 버퍼 슬라이스 레이아웃과 커널 내 동적 스케줄러를 기반으로 동작합니다.
DeepGEMM은 LLM 추론 인프라의 커널 복잡성을 낮추면서도 최신 GPU의 아키텍처 특성을 한계까지 활용하려는 엔지니어에게 실질적인 참조 및 가속 프리미티브를 제공합니다.
출처
- DeepSeek DeepGEMM GitHub 저장소: deepseek-ai/DeepGEMM