PyTorch 내부 구조 17 - Triton은 PyTorch 안에서 어떤 역할을 하는가
Triton은 별도 장난감 언어가 아니라 PyTorch의 modern kernel story와 직접 연결되는 계층이다
Triton을 어디에 놓고 봐야 하나
Triton은 CUDA를 완전히 대체하는 것이 아니라, 특정 종류의 dense tensor kernel을 더 빠르게 실험하고 생성하는 경로다. PyTorch compile stack과도 연결된다.
중요한 관점
- Triton kernel은 어떤 operator에 잘 맞는가
- eager custom op와 compile-generated kernel의 경계는 어디인가
- Triton이 해결하지 못하는 영역은 무엇인가
이 질문이 있어야 Triton을 과대평가하지도, 과소평가하지도 않게 된다.
다음 글에서는 distributed training과 autograd의 접점을 본다. PyTorch internals는 single-device 성능에만 머무르지 않는다.