- Chris Lattner는 LLVM과 Swift 언어의 핵심 개발자이며, 최신 ML 하드웨어의 성능을 최대한 활용하기 위해 새로운 언어 Mojo를 개발하고 있음
- Mojo는 사용성과 하드웨어 세부 제어를 모두 제공하는 언어 설계가 목표이며, 타입 안전 메타프로그래밍을 활용해 하드웨어 세부사항을 효율적으로 다룰 수 있도록 지원함
- GPU, TPU, ASIC 등 AI 가속기 생태계의 분절화 문제를 해결하고, 특정 벤더 의존성을 줄이기 위한 통합 컴퓨팅 플랫폼을 구축하는 것이 핵심 배경임
- 기존 GPU 소프트웨어 스택(CUDA, ROCm, XLA 등)의 호환성 및 복잡성 문제 때문에 차세대 고성능/이식성 언어 개발이 필수적임
- Modular는 Mojo를 무료로 제공하고, 통합 하드웨어 지원과 엔터프라이즈 서비스 등 실질적인 문제 해결에 초점을 맞추는 비즈니스 모델을 추진 중임
Chris Lattner 소개와 커리어
- Chris Lattner는 LLVM, Clang, MLIR, Swift, Mojo 등 컴퓨팅 분야의 여러 핵심 프로젝트를 이끌어온 경험을 보유함
- Apple, Tesla, Google, SiFive, Modular 등 다양한 기관에서 근무하며 컴파일러 및 프로그래밍 언어 설계에 폭넓은 실전을 경험함
- 초기에는 BASIC 같은 단순한 언어와 PC 환경에서 출발했으며, 게임/그래픽스를 통해 하드웨어 성능 극대화에 관심을 갖게 되었음
- 대학 시절 우연히 컴파일러 전공 교수의 영향으로 시스템과 대규모 소프트웨어 구조의 매력을 느꼈음
컴파일러와 언어 설계 사이의 오가며
- Chris Lattner는 컴파일러 엔지니어링과 언어 설계를 모두 경험하며, 이 두 영역의 접점에서 큰 성취를 이룸
- 예를 들어 LLVM은 다양한 언어가 사용할 수 있는 중간 언어로, C++ 구현뿐만 아니라 Rust, Julia 등 광범위한 적용 사례를 창출함
- Swift 개발 역시 기존 C++ 구현의 한계와 피로감을 극복하려는 시도에서 시작되었으며, 패턴 매칭 등 실용적 기능의 필요성을 중시함
- 프로그래밍 언어 혁신은 수학 이론보다는 실제 문제 해결과 유틸리티에 근거하여 설계하는 접근법을 선호함
프로그래밍 언어 이론과 실용성
- Chris는 수학적 엄밀성보다는 문제 해결 중심 사고를 추구하며, PL 논문에서 이론 자체보다는 실용적 예제와 활용 사례에 관심을 가짐
- 수학적 기초가 강한 언어 기능은 일관성과 조합성에서 장점이 있음을 인정하지만, 실제 도입/채택은 사용상의 가시적 효용이 원동력임
- 새로운 언어나 기술은 복잡성의 "모래알(grain of sand)" 을 최대한 줄여 설계의 단순화와 확장성을 추구하는 것이 중요하다고 언급함
AI 하드웨어 생태계의 구조적 문제
- 전통적인 컴파일러 인프라(LLVM) 는 CPU 중심이었으나, AI/머신러닝은 GPU, TPU, ASIC, FPGA 등 다양한 전용 하드웨어를 요구함
- 각 벤더가 고유의 소프트웨어 스택(CUDA, ROCm, XLA 등) 을 개발하며, 이는 호환성 결핍과 생태계 분열을 초래함
- ML 소프트웨어(예: PyTorch 등)는 하드웨어 벤더별로 별도의 최적화가 필요해 유지/확장이 매우 어려워지는 문제 발생
- 하드웨어마다 스택과 언어, 도구 생태계가 상이하여, 소프트웨어 개발자 입장에서 생산성 및 이식성 저하가 만연함
Modular와 Mojo의 역할
- Modular 팀은 이러한 문제를 해결하기 위한 범용적이고 통합적인 소프트웨어 플랫폼을 구축하는 데 초점을 맞추고 있음
- Mojo는 최신 GPU 아키텍처(템서 코어 등)의 성능 특화는 물론, 다양한 하드웨어에 이식 가능한 커널 작성을 목표로 설계됨
- Mojo, MAX(고성능 LLM 서빙 등), Mammoth(클러스터/쿠버네티스 관리) 등 다계층 구조를 통해 통합적 AI 인프라를 제공함
Mojo가 필요한 배경 및 언어 설계 결정
- 기존 언어로는 고성능 ML 커널의 이식성과 벤더 최적화라는 두 가지 요구가 동시에 충족되지 않음
- Mojo는 하드웨어 세부 구조, 예를 들어 각종 데이터 타입(8비트 floating point 등) 및 텐서 코어와 같이 혁신적으로 빠르게 변화하는 하드웨어에 동적 대응이 가능해야 함
- 타입 안전성을 확보한 메타프로그래밍 모델로 복잡한 하드웨어 제어를 보다 효율적이고 공유 가능한 방식으로 변환함
하드웨어와 커널 설계의 변화
- 현대 데이터센터의 CPU는 다수의 코어로 확장됐지만, GPU는 SM(Streaming Multiprocessor) 구조, Warp(32개 쓰레드 동작) 등 병렬처리 특화 설계로 급격히 발전함
- 텐서 코어 등 AI 전용 연산 유닛이 하드웨어로 도입되면서 전통적 CUDA와 완전히 다른 하드웨어 프로그래밍 패러다임이 필요해짐
- 동일 벤더 내에도 아키텍처 세대별 호환성 변화가 잦아짐(예: Nvidia Volta/Hopper/Blackwell 변화), 소프트웨어 스택이 이를 따라가지 못함
비즈니스 모델과 오픈 생태계 전략
- Modular는 언어 자체 판매에 집중하지 않고, Mojo를 무료로 공개함
- 핵심 수익 모델은 통합된 하드웨어 관리와 엔터프라이즈 대상의 플랫폼/서비스 제공에 기반함
- 이로써 벤더 락인 없는 공용 생태계 구축을 도전하며, 다양한 하드웨어 지원과 효율적 인프라 관리를 동시에 추구함
결론
- Chris Lattner와 Modular의 Mojo 프로젝트는 머신러닝 고도화, AI 하드웨어 혁신, 생태계 분절 극복을 위한 새로운 프로그래밍 언어 및 플랫폼 구축의 의의를 가짐
- 혁신적 언어 설계와 오픈 생태계 확산으로 AI 생태계의 민주화 및 생산성 향상에 기여할 전략임