핵심 개념
본 연구는 GPU 네이티브 명령어 스케줄을 자동으로 최적화하여 기존 CUDA 커널의 성능을 향상시키는 방법을 제안한다.
초록
본 연구는 GPU 네이티브 명령어 수준에서의 자동 최적화 기법인 SIP(Stochastic Instruction Perturbation)를 소개한다. SIP는 다음과 같은 과정을 통해 GPU 커널의 성능을 향상시킨다:
- 명령어 스케줄링 탐색 공간 정의: GPU 네이티브 명령어 중 메모리 I/O 관련 명령어만을 고려하여 탐색 공간을 축소한다.
- 확률적 변이 정책 설계: 각 메모리 I/O 명령어를 상하로 1칸씩 이동시키는 변이 정책을 적용한다.
- 성능 피드백 신호 생성: 실제 GPU 실행을 통해 변이된 명령어 스케줄의 성능을 측정하고 이를 피드백 신호로 활용한다.
- 시뮬레이티드 어닐링 기반 탐색 알고리즘 적용: 피드백 신호를 바탕으로 탐색 공간을 효율적으로 탐색한다.
실험 결과, SIP는 대표적인 LLM 워크로드인 Fused Attention과 Fused GEMM LeakyReLU 커널에서 각각 6.2%, 12.27%의 성능 향상을 달성했다. 이는 기존 Triton 구현 대비 향상된 것으로, 특히 메모리 처리량 개선에 기인한 것으로 분석된다.
통계
Fused Attention 커널의 SIP 최적화 결과, 실행 시간이 6.2% 단축되었다.
Fused GEMM LeakyReLU 커널의 SIP 최적화 결과, 실행 시간이 12.27% 단축되었다.
SIP 최적화를 통해 메모리 처리량이 5.8% 향상되었다.
SIP 최적화를 통해 L2 캐시 처리량이 5.7% 향상되었다.
인용구
"SIP는 GPU 네이티브 명령어 수준에서의 자동 최적화 기법을 제안한다."
"SIP는 기존 CUDA 커널의 성능을 향상시키는 것을 목표로 한다."