AI 2026.05.03 · 10 min
Advanced Pytorch Internals Deep Dive · 1
PyTorch Tensor는 왜 Storage와 Metadata로 분리되어 있는가
단순한 다차원 배열처럼 보이는 Tensor가 실제로 6원소 튜플로 구성된 이유부터, stride가 CUDA 커널 선택을 바꾸고 view가 zero-copy인 이유까지 추적한다.
총 6개의 글
단순한 다차원 배열처럼 보이는 Tensor가 실제로 6원소 튜플로 구성된 이유부터, stride가 CUDA 커널 선택을 바꾸고 view가 zero-copy인 이유까지 추적한다.
Forward-mode JVP와 reverse-mode VJP의 비용 분석부터 computation graph의 동적 생성, custom Function 구현, double backward까지 — autograd의 설계 철학을 추적한다.
aten::add 한 호출이 CPU·CUDA·Autograd kernel 중 어느 것으로 실행될지 결정하는 Dispatcher의 설계 철학부터 functorch의 함수형 변환까지, PyTorch 내부 구조를 추적한다.
SM과 Warp 계층부터 Memory Coalescing, Bank Conflict, Warp Divergence, Reduction 최적화까지 — CUDA 커널 성능을 지배하는 하드웨어 원칙을 추적한다.
cpp_extension JIT 컴파일부터 Triton block-level 추상화, cuBLAS/cuDNN 선택 기준, kernel fusion의 정량적 효과까지, PyTorch가 GPU 메모리를 다루는 방식을 추적한다.
Dynamo의 바이트코드 캡처부터 AOTAutograd의 심볼릭 역전파, Inductor의 커널 퓨전, 분산 학습과의 통합까지, PT 2.0 컴파일 파이프라인의 설계 철학을 추적한다.