tile-ai/tilelang-ascend

Ascend TileLang adapter

해결하는 문제

TileLang-Ascend는 화웨이 Ascend NPU용 고성능 AI 컴퓨트 커널 개발을 간소화합니다. 개발자가 복잡한 저수준 최적화를 수동으로 처리할 필요 없이, GEMM, 어텐션 메커니즘, 벡터 연산과 같은 연산에서 최첨단 성능을 달성할 수 있도록 도와줍니다.

작동 방식

TVM 컴파일러 인프라를 기반으로 한 파이썬 스타일의 도메인 특화 언어(DSL)입니다. GPU 유사 메모리 계층(글로벌, 공유, 레지스터 메모리)을 Ascend NPU 아키텍처(글로벌 메모리, L1/통합 버퍼, L0 버퍼)에 매핑합니다. 컴파일러는 코드 생성을 위한 두 가지 기술적 경로를 지원합니다: Ascend C & PTO 및 AscendNPU IR. 개발자 모드(자동 스코프 분리 및 동기화)와 전문가 모드(실행 스코프 및 동기화 플래그 수동 제어)를 포함한 다양한 프로그래밍 모드를 제공합니다.

대상 사용자

화웨이 Ascend NPU 하드웨어(A2 및 A3 장치 등)에 특화된 AI 워크로드를 최적화해야 하는 AI 커널 개발자 및 엔지니어.

주요 특징

  • 광범위한 연산자 지원: GEMM, Flash Attention, Sparse Flash Attention, Convolution, Softmax의 구현 포함.
  • 메모리 최적화: 온칩 메모리 사용량을 줄이기 위한 자동 버퍼 재사용 및 자동 워크스페이스 할당 기능.
  • 성능 도구: 소프트웨어 파이프라인(T.Pipelined), 자동 벡터화(T.Parallel), L2 캐시 스위즐링 지원.
  • 개발자 경험: JIT 컴파일러, 디버그 도구(T.printf, T.dump_tensor), torch_tl_ascend를 통한 시ーム리스한 PyTorch 통합 제공.

관련

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