InfiniTensor/ninetoothed

A domain-specific language (DSL) based on Triton but providing higher-level abstractions.

해결하는 문제

NineToothed는 고성능 GPU 커널 작성 과정을 간소화합니다. 낮은 수준의 GPU 코드를 작성할 때 일반적으로 발생하는 복잡성을 제거하고, 접근성이 높은 도메인 전용 언어(DSL)를 제공합니다.

작동 방식

텐서 중심 메타프로그래밍(TOM) 이라는 패러다임과 "배치하고 적용하기" 접근 방식을 사용합니다. 개발자는 세 가지 서로 다른 구성 요소를 정의합니다: arrangement(데이터의 타일링 및 확장 방식), application(실제 계산 로직), 그리고 tensors 자체입니다. 이들은 ninetoothed.make를 사용하여 통합되어 Triton 기반의 커널이 생성됩니다.

대상 사용자

커스텀 고성능 GPU 커널을 작성해야 하지만, 직접 Triton이나 CUDA 코드를 사용하는 것보다 더 높은 수준의 추상화를 원하는 개발자 및 연구자입니다.

주요 특징

  • Triton 기반 DSL: GPU 성능을 Triton으로 활용합니다.
  • 배치하고 적용하기 패러다임: 데이터 레이아웃과 계산 로직을 분리하여 명확성을 높입니다.
  • 텐서 중심 메타프로그래밍: 고수준 텐서 연산을 GPU 하드웨어에 매핑하는 것을 간소화합니다.

관련

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