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 통합 제공.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트