PyTorch 내부 구조 16 - FX, torch.compile, Inductor의 큰 그림
최근 PyTorch internals를 이해하려면 eager 실행 경로뿐 아니라 compile 경로도 함께 봐야 한다
왜 compile 경로를 봐야 하나
PyTorch는 오랫동안 eager framework로 인식되었지만, 이제는 graph capture와 compile 경로가 성능에서 점점 중요해지고 있다.
큰 흐름
- Python eager 코드를 graph로 포착한다
- graph를 재작성 / 최적화한다
- backend가 더 효율적인 kernel 조합으로 내린다
이 흐름을 알아야 custom op를 만들 때도 compile 친화성을 고민할 수 있다.
다음 글에서는 Triton이 이 생태계 안에서 어떤 역할을 하는지 본다.