Dao-AILab/quack

A Quirky Assortment of CuTe Kernels

해결하는 문제

QuACK은 일반적인 딥러닝 연산을 위한 고성능 GPU 커널의 모음으로, CuTe-DSL을 사용하여 Python에서 직접 "빛의 속도" 성능을 달성할 수 있도록 합니다.

작동 방식

이 프로젝트는 NVIDIA GPU를 위한 도메인 특화 언어인 CuTe-DSL을 사용하여 다양한 수학적 연산(커널)을 구현합니다. H100, B200/B300, RTX 50 GPU와 같은 최신 NVIDIA 하드웨어를 지원하며, JAX용 선택적 바인딩도 제공합니다.

대상 사용자

고성능 NVIDIA GPU를 사용하는 연구자 및 엔지니어를 위한 것으로, 정규화 및 행렬 곱셈(GEMM)과 같은 연산에 최적화된 GPU 커널이 필요하지만, 저수준 CUDA C++를 직접 작성하고 싶지 않은 경우에 적합합니다.

주요 특징

  • RMSNorm, Softmax, Cross Entropy, LayerNorm(전방 및 후방 전파 모두)을 위한 최적화된 커널.
  • Hopper 및 Blackwell 아키텍처용 특화된 GEMM 및 에피로그 구현.
  • JAX와의 통합을 위한 선택적 바인딩 제공.
  • 최신 CUDA 툴킷(12.9+) 및 Python 3.12 지원.

관련

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