inclusionAI/cuLA
CUDA kernels for linear attention variants, written in CuTe DSL and CUTLASS C++.
해결하는 문제
cuLA는 긴 컨텍스트 LLM 워크로드에서 선형 어텐션 메커니즘의 성능 병목 현상을 해결합니다. 선형 어텐션은 표준 어텐션의 이차 복잡도를 선형 시간 업데이트로 줄여주지만, 최신 NVIDIA 아키텍처의 계산 능력을 완전히 활용하기 위해서는 현대적인 GPU에서 이를 효율적으로 구현하기 위한 심도 있는 하드웨어 수준의 최적화가 필요합니다.
작동 원리
cuLA는 CuTe DSL 및 CUTLASS C++를 사용하여 작성된 수동 튜닝된 CUDA 커널을 제공합니다. 여기에는 GLA, KDA, GDN 및 Lightning Attention을 포함한 선형 어텐션의 고성능 변형이 포함됩니다. 이러한 커널은 NVIDIA Blackwell (SM10X) 및 Hopper (SM90) GPU에 맞게 특별히 최적화되었으며, WGMMA 데이터 흐름 및 persistent packed scheduling과 같은 기능을 활용하여 prefill 및 decode 단계 모두에서 처리량을 극대화합니다.
대상 사용자
NVIDIA Hopper 또는 Blackwell 하드웨어에서 최대의 추론 및 학습 성능이 필요한 긴 컨텍스트 LLM을 다루는 AI 연구자 및 엔지니어를 위해 설계되었습니다. 또한 flash-linear-attention (FLA) 라이브러리의 고성능 백엔드로도 의도되었습니다.
주요 특징
- 하드웨어 최적화: NVIDIA Blackwell (SM10X) 및 Hopper (SM90) 아키텍처에 맞게 특별히 튜닝되었습니다.
- 상당한 속도 향상: FLA Triton 구현 대비 상당한 성능 향상을 보여주며, Hopper에서 FlashKDA prefill의 경우 최대 7.56배의 속도 향상을 입증했습니다.
- 폭넓은 알고리즘 지원: KDA (Kimi Delta Attention) 및 Lightning Attention과 같은 다양한 선형 어텐션 변형을 구현합니다.
- 원활한 통합: 간단한 import 변경만으로 FLA 커널을 즉시 대체할 수 있도록 설계되었습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트