เรื่องเล่าจาก MLIR ถึง MI300X: เมื่อ Chris Lattner กลับมาอีกครั้ง พร้อมภาษาที่อาจแทนที่ CUDA ได้ในอนาคต

Chris Lattner ผู้สร้าง LLVM, Clang และ Swift กลับมาอีกครั้งในฐานะผู้ก่อตั้ง Modular Inc. พร้อมเปิดตัว Mojo ซึ่งเป็นภาษาโปรแกรมใหม่ที่ออกแบบมาเพื่อแก้ปัญหาหลักของการพัฒนา AI: ความซับซ้อนของการเขียนโค้ดที่ต้องควบคุมฮาร์ดแวร์โดยตรง

Mojo ถูกสร้างขึ้นบน MLIR (Multi-Level Intermediate Representation) ซึ่งเป็นระบบที่ Lattner เคยออกแบบให้ Google ใช้ใน TensorFlow และตอนนี้กลายเป็นแกนกลางของการแปลงโค้ด Mojo ให้ทำงานได้ทั้งบน CPU, GPU, DSP, FPGA และแม้แต่ MCU

สิ่งที่ทำให้ Mojo น่าสนใจคือการรวมความง่ายของ Python เข้ากับประสิทธิภาพของ C++ และความปลอดภัยของ Rust โดยสามารถเขียนโค้ดแบบ metaprogramming ได้เต็มรูปแบบ และยังรองรับการ compile แบบ static เพื่อให้ได้ performance สูงสุด

ในงาน Advancing AI 2025 Lattner สาธิตการใช้ Mojo กับ ROCm และ CUDA เพื่อรันโมเดลบน GPU ของ AMD และ NVIDIA โดยไม่ต้องเขียนโค้ดเฉพาะ vendor และยังสามารถใช้ Mojo สร้าง graph compiler ที่ปรับแต่งได้ตาม workload

เขายังโชว์การรันโมเดลบนคลัสเตอร์ MI300X ของ AMD ซึ่งเป็น GPU ระดับสูงสำหรับงาน AI โดยใช้ Mojo ควบคุม tensor core และ memory layout ได้ละเอียดระดับ instruction—สิ่งที่ก่อนหน้านี้ต้องใช้ CUDA หรือ HIP เท่านั้น

เป้าหมายของ Mojo คือการเป็น “ภาษาเดียวที่ครอบคลุมทุกระดับของ AI stack” ตั้งแต่การเขียน preprocessing pipeline ไปจนถึงการ optimize kernel บน GPU โดยไม่ต้องสลับภาษาไปมา

จุดเด่นของ Mojo
สร้างบน MLIR เพื่อรองรับหลายสถาปัตยกรรม
รวมความง่ายของ Python กับประสิทธิภาพของ C++ และความปลอดภัยของ Rust
รองรับ metaprogramming และ static compilation

การใช้งานกับ GPU
ใช้ Mojo กับ ROCm และ CUDA ได้โดยไม่ต้องเขียนโค้ดเฉพาะ vendor
ควบคุม tensor core และ memory layout ได้ละเอียดระดับ instruction
รันโมเดลบนคลัสเตอร์ MI300X ของ AMD ได้อย่างมีประสิทธิภาพ

เป้าหมายของ Mojo
เป็นภาษาเดียวที่ครอบคลุมทุกระดับของ AI stack
ลดความซับซ้อนของการพัฒนา AI infrastructure
สร้าง graph compiler ที่ปรับแต่งได้ตาม workload

ความเชื่อมโยงกับ MLIR
MLIR เป็นระบบกลางที่ช่วยให้ Mojo แปลงโค้ดไปยังฮาร์ดแวร์ต่าง ๆ ได้
เคยใช้ใน TensorFlow และตอนนี้กลายเป็นแกนของ Mojo
ช่วยให้การ optimize compiler เป็นเรื่องที่ทำได้แบบ modular

https://signalsandthreads.com/why-ml-needs-a-new-programming-language/
🎙️ เรื่องเล่าจาก MLIR ถึง MI300X: เมื่อ Chris Lattner กลับมาอีกครั้ง พร้อมภาษาที่อาจแทนที่ CUDA ได้ในอนาคต Chris Lattner ผู้สร้าง LLVM, Clang และ Swift กลับมาอีกครั้งในฐานะผู้ก่อตั้ง Modular Inc. พร้อมเปิดตัว Mojo ซึ่งเป็นภาษาโปรแกรมใหม่ที่ออกแบบมาเพื่อแก้ปัญหาหลักของการพัฒนา AI: ความซับซ้อนของการเขียนโค้ดที่ต้องควบคุมฮาร์ดแวร์โดยตรง Mojo ถูกสร้างขึ้นบน MLIR (Multi-Level Intermediate Representation) ซึ่งเป็นระบบที่ Lattner เคยออกแบบให้ Google ใช้ใน TensorFlow และตอนนี้กลายเป็นแกนกลางของการแปลงโค้ด Mojo ให้ทำงานได้ทั้งบน CPU, GPU, DSP, FPGA และแม้แต่ MCU สิ่งที่ทำให้ Mojo น่าสนใจคือการรวมความง่ายของ Python เข้ากับประสิทธิภาพของ C++ และความปลอดภัยของ Rust โดยสามารถเขียนโค้ดแบบ metaprogramming ได้เต็มรูปแบบ และยังรองรับการ compile แบบ static เพื่อให้ได้ performance สูงสุด ในงาน Advancing AI 2025 Lattner สาธิตการใช้ Mojo กับ ROCm และ CUDA เพื่อรันโมเดลบน GPU ของ AMD และ NVIDIA โดยไม่ต้องเขียนโค้ดเฉพาะ vendor และยังสามารถใช้ Mojo สร้าง graph compiler ที่ปรับแต่งได้ตาม workload เขายังโชว์การรันโมเดลบนคลัสเตอร์ MI300X ของ AMD ซึ่งเป็น GPU ระดับสูงสำหรับงาน AI โดยใช้ Mojo ควบคุม tensor core และ memory layout ได้ละเอียดระดับ instruction—สิ่งที่ก่อนหน้านี้ต้องใช้ CUDA หรือ HIP เท่านั้น เป้าหมายของ Mojo คือการเป็น “ภาษาเดียวที่ครอบคลุมทุกระดับของ AI stack” ตั้งแต่การเขียน preprocessing pipeline ไปจนถึงการ optimize kernel บน GPU โดยไม่ต้องสลับภาษาไปมา ✅ จุดเด่นของ Mojo ➡️ สร้างบน MLIR เพื่อรองรับหลายสถาปัตยกรรม ➡️ รวมความง่ายของ Python กับประสิทธิภาพของ C++ และความปลอดภัยของ Rust ➡️ รองรับ metaprogramming และ static compilation ✅ การใช้งานกับ GPU ➡️ ใช้ Mojo กับ ROCm และ CUDA ได้โดยไม่ต้องเขียนโค้ดเฉพาะ vendor ➡️ ควบคุม tensor core และ memory layout ได้ละเอียดระดับ instruction ➡️ รันโมเดลบนคลัสเตอร์ MI300X ของ AMD ได้อย่างมีประสิทธิภาพ ✅ เป้าหมายของ Mojo ➡️ เป็นภาษาเดียวที่ครอบคลุมทุกระดับของ AI stack ➡️ ลดความซับซ้อนของการพัฒนา AI infrastructure ➡️ สร้าง graph compiler ที่ปรับแต่งได้ตาม workload ✅ ความเชื่อมโยงกับ MLIR ➡️ MLIR เป็นระบบกลางที่ช่วยให้ Mojo แปลงโค้ดไปยังฮาร์ดแวร์ต่าง ๆ ได้ ➡️ เคยใช้ใน TensorFlow และตอนนี้กลายเป็นแกนของ Mojo ➡️ ช่วยให้การ optimize compiler เป็นเรื่องที่ทำได้แบบ modular https://signalsandthreads.com/why-ml-needs-a-new-programming-language/
SIGNALSANDTHREADS.COM
Signals and Threads Podcast
Listen in on Jane Street’s Ron Minsky as he has conversations with engineers working on everything from clock synchronization to reliable multicast, build systems to reconfigurable hardware. Get a peek at how Jane Street approaches problems, and how those ideas relate to tech more broadly.
0 ความคิดเห็น 0 การแบ่งปัน 104 มุมมอง 0 รีวิว