2.14.03주 전
PyTorch 2.14.0 Release
핵심 내용
PyTorch 2.14.0은 NVGEMM 통합, 다중 분기 지원 torch.switch, 분산 학습 내결함성 강화 및 Apple Silicon용 네이티브 선형 대수 연산 지원을 포함한 주요 업데이트를 제공합니다.
자세히 보기
주요 기능 및 개선 사항
- NVGEMM 통합: Inductor에 CuTeDSL로 생성된 CUTLASS 커널을 도입하여 에필로그 융합, 스케일링 및 NVFP4 GEMM, 그룹 감소 에필로그를 지원하며 Triton 및 ATen과 함께 자동 튜닝됩니다.
- 제어 흐름 개선:
torch.cond를 다중 분기(multi-way branching)로 일반화한 **torch.switch**가 추가되었으며,torch.while_loop를 CUDA 그래프에서 캡처할 수 있게 되었습니다. - 동적 형태(Shapes) 선언:
torch.compile,torch.export,make_fx에서 공유되는@dynamic_spec데코레이터를 통해 동적 형태를 선언적으로 지정할 수 있습니다. - 복소수 텐서 컴파일 지원:
torch.compile이 복소수 텐서에 대해 실험적으로 지원되며, 복소수 연산을 실수 및 허수 연산으로 분해하여 컴파일러 백엔드의 최적화를 가능하게 합니다. - 분산 학습(Distributed) 업데이트:
- torchcomms에서 이식된 새로운
nccl2백엔드가 추가되어 논블로킹 커뮤니케이터와 이거 커뮤니케이터 분할을 포함한 전체 집합 통신 계약을 구현합니다. - 내결함성(Fault tolerance)이
c10d의 일급 개념으로 승격되어 인플레이스 프로세스 그룹 재구성, 원측(one-sided) RMA 윈도우, 그리고 모든 백엔드에서 작동하는 Flight Recorder가 도입되었습니다.
- torchcomms에서 이식된 새로운
- Apple Silicon 최적화: Jacobi 커널 기반 SVD,
eigh, QR, Cholesky 등 네이티브 선형 대수 연산을 지원하며, 5단계 감소(reduction) 재작성 및 MPSGraph에서 Metal 커널로의 추가 마이그레이션이 이루어졌습니다.