[Triton] AMD TDM 기능 활성화 및 ConvertToTensorOps 패스 추가
PR 링크: triton-lang/triton#9283 상태: Merged | 변경: +239 / -44
들어가며
AMD의 최신 GPU 아키텍처(gfx1250)에서 TDM(Tensor Descriptor Memory)은 tensor descriptor를 통한 비동기 메모리 복사를 지원한다. 이 PR은 여러 내부 PR을 upstream하여 TDM 기능을 활성화하고, ConvertToTensorOps 패스를 추가하며, 테스트를 통해 matmul E2E 실행을 검증한다.
핵심 코드 분석
TDM async copy의 predicate 타입 변경
// Before: bool 타입 predicate
%true = arith.constant true
%2 = amdg.async_tdm_copy_global_to_local %0[...] into %1, %true
// After: i32 타입 predicate (하드웨어 인터페이스와 일치)
%c1_i32 = arith.constant 1 : i32
%2 = amdg.async_tdm_copy_global_to_local %0[...] into %1, %c1_i32
ConvertToTensorOps 패스 등록
// RegisterTritonDialects.h
mlir::registerTritonAMDGPUConvertToTensorOps();
이 패스는 일반적인 메모리 연산을 tensor descriptor 기반 연산으로 변환한다.
왜 이게 좋은가
- E2E 검증: 공개 Triton 코드베이스에서 내부 LLVM과 함께 matmul unit test가 실행 가능해졌다.
- 하드웨어 정합: predicate 타입을
bool에서i32로 변경하여 실제 하드웨어 인터페이스와 일치시켰다. - 패스 파이프라인 확장:
ConvertToTensorOps패스가 AMD 백엔드의 컴파일 파이프라인에 등록되어, tensor descriptor 기반 최적화의 기반을 마련한다.
정리
이 PR은 AMD의 최신 GPU에서 tensor descriptor 기반 메모리 접근을 활성화하는 upstream 작업이다. 여러 내부 패치를 하나로 묶어 TDM E2E 지원의 기반을 마련한다.
참고 자료
이 글은 AI 도구의 도움을 받아 작성되었습니다.
관련 포스트
PR Analysis 의 다른글
- 이전글 [triton] NVIDIA canSkipBarSync 복원으로 MoE 커널 18GBps 성능 향상
- 현재글 : [Triton] AMD TDM 기능 활성화 및 ConvertToTensorOps 패스 추가
- 다음글 [Triton] AMD PrepareIfCombining 패스 추가 — scf.if 병합 최적화
댓글