NVIDIA เปิดตัว CUDA Rust รองรับการเขียน GPU Kernel ด้วยภาษา Rust เต็มรูปแบบ

NVIDIA ประกาศความคืบหน้าครั้งสำคัญในการสนับสนุนภาษา Rust สำหรับการพัฒนาซอฟต์แวร์ระดับลึก โดยล่าสุดได้เปิดตัวเครื่องมือที่ช่วยให้โปรแกรมเมอร์สามารถเขียน GPU kernel ด้วยภาษา Rust ได้โดยตรง ซึ่งถือเป็นการเติมเต็มส่วนที่ขาดหายไป หลังจากที่ก่อนหน้านี้ NVIDIA ได้นำภาษา Rust ไปใช้ในโครงการต่างๆ มาอย่างต่อเนื่อง ไม่ว่าจะเป็นการพัฒนาไดรเวอร์หรือซอฟต์แวร์ระดับองค์กรอย่าง NVIDIA Dynamo
การเขียน GPU kernel ด้วย Rust
สำหรับการพัฒนา GPU kernel นั้น NVIDIA ได้แบ่งแนวทางการสนับสนุนออกเป็น 2 รูปแบบหลัก เพื่อให้ตอบโจทย์การใช้งานที่แตกต่างกัน ดังนี้:
- การเขียนแบบ SIMT หรือ CUDA แบบเดิม: นักพัฒนาสามารถใช้โปรแกรมที่ชื่อว่า
cuda-oxideซึ่งทำหน้าที่เป็นคอมไพเลอร์สำหรับภาษา Rust โดยกระบวนการทำงานจะเริ่มจากการดักเอาส่วน kernel มาแปลงผ่าน Rust MIR (Mid-level Intermediate Representation) จนกระทั่งได้ผลลัพธ์เป็น LLVM IR เพื่อนำไปประมวลผลบนชิปกราฟิก - การพัฒนาระดับสูงด้วย cuTile: สำหรับการเขียนโปรแกรมในระดับที่สูงขึ้น NVIDIA ได้เตรียมไลบรารี
cutile-rsไว้รองรับ ซึ่งช่วยในการแปลง Tile ให้กลายเป็น GPU thread โดยในส่วนนี้มีความพร้อมในการใช้งานสูงกว่า และนักพัฒนาสามารถติดตั้งไลบรารีผ่านเครื่องมือจัดการแพ็กเกจอย่างcargoได้โดยตรง
สถานะของโครงการในปัจจุบัน
อย่างไรก็ตาม ทาง NVIDIA ได้ให้ข้อมูลเตือนผู้ใช้งานว่า โครงการดังกล่าวยังคงอยู่ในสถานะ alpha เท่านั้น ซึ่งหมายความว่าโครงสร้างของ API อาจมีการปรับเปลี่ยนหรือแก้ไขได้ในอนาคต ดังนั้นนักพัฒนาควรติดตามความเคลื่อนไหวและอัปเดตข้อมูลจากทางผู้พัฒนาอย่างใกล้ชิดก่อนนำไปใช้งานในโปรเจกต์สำคัญ
