inclusionAI/cuLA

CUDA kernels for linear attention variants, written in CuTe DSL and CUTLASS C++.

해결하는 문제

cuLA는 선형 어텐션 변형을 위한 고성능 CUDA 커널을 제공하며, 이는 LLM의 표준 이차 어텐션을 대체하여 긴 문맥의 워크로드를 더 효율적으로 처리하도록 설계되었습니다. 최신 NVIDIA GPU(Blackwell 및 Hopper)를 타겟팅하여 하드웨어 가속을 극대화합니다.

작동 원리

이 라이브러리는 CuTe DSL과 CUTLASS C++를 사용하여 작성되었으며, GLA, KDA (Kimi Delta Attention), GDN, Lightning Attention과 같은 선형 어텐션 알고리즘의 수동 튜닝 구현을 제공합니다. flash-linear-attention (FLA) 라이브러리의 드롭인 대체품으로 설계되어 동일한 인터페이스를 공유하므로, 사용자는 cuLA 커널로 전환하여 더 나은 성능을 얻을 수 있습니다.

대상 사용자

NVIDIA Hopper (SM90) 및 Blackwell (SM10X) GPU에서 최대 처리량과 효율성이 필요한 긴 문맥 LLM 연구자 및 엔지니어.

주요 특징

  • 하드웨어 최적화: NVIDIA Blackwell (SM10X) 및 Hopper (SM90) 아키텍처에 맞춰 특별히 튜닝되었습니다.
  • 상당한 속도 향상: FLA 베이스라인 대비 상당한 성능 향상을 보여주며, Hopper에서 FlashKDA 프리필(prefill) 시 최대 7.56배의 속도 향상을 달성했습니다.
  • 광범위한 알고리즘 지원: Lightning Attention 및 KDA와 같은 변형을 구현하며 프리필 및 디코드(decode) 단계를 모두 지원합니다.
  • FLA 호환: flash-linear-attention 생태계와 원활하게 통합되도록 설계되었습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트