728x90
반응형

딥러닝 컴파일러 2

JAX Pallas(Custom Kernel DSL for JAX)

개요JAX Pallas는 Google JAX 생태계에서 고성능 커널을 직접 정의할 수 있도록 설계된 Python 기반 DSL(Domain-Specific Language)이다. 기존 XLA 컴파일러에 전적으로 의존하던 방식에서 벗어나, 개발자가 세밀한 메모리 제어 및 병렬 실행 구조를 정의할 수 있도록 지원한다. 특히 Mosaic GPU 및 TPU 아키텍처에 최적화된 저수준 연산을 구현할 수 있으며, Triton과 유사한 프로그래밍 모델을 JAX 내부로 통합한 것이 특징이다.1. 개념 및 정의JAX Pallas는 JAX의 고수준 함수형 인터페이스를 유지하면서도 CUDA 수준의 세밀한 제어를 가능하게 하는 커널 작성 프레임워크이다. JAX의 jit, vmap, pmap과 결합되어 자동 미분 및 벡터화와 자..

Topic 2026.02.27

PyTorch 2.x Inductor(PyTorch Compiler Backend)

개요PyTorch 2.x Inductor는 PyTorch 2.0부터 도입된 새로운 컴파일러 백엔드로, TorchDynamo와 AOTAutograd를 기반으로 그래프를 최적화하고 고성능 커널 코드로 변환하는 핵심 구성 요소이다. 기존 Eager Mode의 유연성을 유지하면서도 JIT 이상의 성능을 제공하는 것이 목표이며, GPU 및 CPU 환경에서 자동 커널 생성과 연산 퓨전을 통해 실행 속도를 대폭 향상시킨다. OpenAI Triton과 통합되어 CUDA 커널을 자동 생성하는 구조가 특징이다.1. 개념 및 정의PyTorch 2.x Inductor는 torch.compile() API 호출 시 활성화되는 컴파일 경로의 최종 코드 생성 단계(Backend Compiler)이다. TorchDynamo가 Pyt..

Topic 2026.02.27
728x90
반응형