AMD สนับสนุนอิมพลีเมนเทชัน CUDA บน ROCm แบบเงียบ ๆ และตอนนี้เปิดซอร์สแล้ว
- AMD พยายามมาหลายปีเพื่อให้นักพัฒนาสามารถรันโค้ดเบสที่เขียนสำหรับ API ของ NVIDIA CUDA บน HIP/ROCm ได้
- แม้จะมีความพยายามเหล่านี้ แต่หากต้องการประสิทธิภาพสูงสุด ก็ยังไม่ใช่ทางออกที่ดีนัก (ไม่เรียบง่าย ไม่ทันที และไม่การันตีประสิทธิภาพ)
- ตลอด 2 ปีที่ผ่านมา AMD ได้สนับสนุนโครงการอย่างเงียบ ๆ เพื่อมอบความเข้ากันได้ระดับไบนารีในระดับไลบรารี ทำให้แอปพลิเคชัน NVIDIA CUDA จำนวนมากสามารถทำงานบนสแตก AMD ROCm ได้โดยไม่ต้องแก้ซอร์สโค้ด
ZLUDA: รองรับ CUDA สำหรับกราฟิกส์ Intel
- หลายปีก่อนมีโครงการชื่อ ZLUDA ที่เริ่มต้นขึ้นเพื่อรองรับ CUDA บนกราฟิกส์ Intel แต่ได้หยุดไปด้วยเหตุผลส่วนตัว
- Andrzej Janik ผู้พัฒนา ZLUDA ได้รับสัญญาจาก AMD ในปี 2022 เพื่อนำ ZLUDA มาปรับใช้กับ GPU ของ AMD โดยใช้ HIP/ROCm
- ตลอด 2 ปีที่ผ่านมา Janik ได้พัฒนา ZLUDA สำหรับ GPU Radeon ทำให้ซอฟต์แวร์ CUDA จำนวนมากสามารถทำงานบน HIP/ROCm ได้โดยไม่ต้องแก้ไข
การเปิดซอร์สของ ZLUDA
- ปีนี้ AMD ได้ยุติการสนับสนุนเงินทุนสำหรับโครงการนี้ และตัดสินใจว่าจะไม่ออกเป็นผลิตภัณฑ์ซอฟต์แวร์
- อย่างไรก็ตาม ในตอนสิ้นสุดสัญญามีเงื่อนไขที่เปิดทางให้ Janik สามารถเผยแพร่งานนี้เป็นโอเพนซอร์สได้
- Janik ได้เปิดให้เข้าถึงเพื่อทดสอบและทำเบนช์มาร์กอิมพลีเมนเทชัน ZLUDA ใหม่นี้
ข้อจำกัดของอิมพลีเมนเทชัน ZLUDA และโค้ดโอเพนซอร์ส
- อิมพลีเมนเทชันของ ZLUDA ยังไม่ปลอดภัย 100% เช่น การรองรับ NVIDIA OptiX ยังไม่สมบูรณ์ และซอฟต์แวร์ที่ไม่ใช้โค้ดแอสเซมบลี PTX ยังไม่สามารถจัดการได้ในขณะนี้
- ในกรณีส่วนใหญ่ อิมพลีเมนเทชันนี้มีความสามารถน่าทึ่งมากเมื่อพิจารณาว่าเป็นผลงานของนักพัฒนาเพียงคนเดียว
- โค้ดโอเพนซอร์สใช้ไลเซนส์คู่แบบ Apache 2.0 หรือ MIT
- ใช้ภาษาโปรแกรม Rust ในการพัฒนาอิมพลีเมนเทชันสำหรับ Radeon นี้
ความเห็นของ GN⁺
- บทความนี้แนะนำโครงการที่ AMD สนับสนุนอย่างเงียบ ๆ เพื่อมอบความเข้ากันได้กับ CUDA ซึ่งอาจเป็นการมีส่วนร่วมครั้งสำคัญต่อชุมชนโอเพนซอร์ส
- ZLUDA เป็นความก้าวหน้าสำคัญที่ช่วยให้นักพัฒนารันแอปพลิเคชัน CUDA บนแพลตฟอร์ม AMD ได้โดยไม่ต้องแก้ไขซอร์สโค้ด
- ความพยายามลักษณะนี้เปิดโอกาสให้ผู้ใช้ GPU ของ AMD เข้าถึงระบบนิเวศซอฟต์แวร์ที่กว้างขึ้น และก็น่าสนใจเป็นพิเศษที่มีการใช้ภาษาโปรแกรมสมัยใหม่อย่าง Rust
2 ความคิดเห็น
NVIDIA เว้ย!
ความคิดเห็นจาก Hacker News
ZLUDA ถูกเปิดซอร์สหลังจาก AMD หยุดให้เงินสนับสนุน
มีการกล่าวถึง CUDA Dark API
มีความเห็นที่เชียร์ให้ AMD ทำลายการผูกขาดของ CUDA
ประสบการณ์จากความพยายามรัน Stable Diffusion บน AMD GPU และความยากลำบากที่พบ
หลายปีหลังจากที่ Blender เลิกใช้ OpenCL และหันไปใช้ CUDA backend ก็ได้เพิ่ม Radeon HIP backend เข้ามา แต่พบว่าการใช้ ZLUDA + CUDA backend เร็วกว่า Radeon HIP backend เล็กน้อย
การที่ AMD หยุดให้เงินสนับสนุนโครงการนี้ดูเป็นการตัดสินใจที่เข้าใจได้ยาก
มีคำถามที่เกี่ยวข้องกับข่าวว่า Nvidia เลี่ยงการตรวจสอบไดรเวอร์ที่ใช้ไลเซนส์ GPL ของเคอร์เนล
บทความของ Phoronix แนะนำไกด์สำหรับผู้ที่ต้องการคอมไพล์สแตก ROCm/HIP ของ AMD ด้วยตนเอง
ROCm ถูกอธิบายไว้ดีกว่าบน Github มากกว่าในเอกสารทางการ ซึ่งตอกย้ำความสำคัญของการสร้างแบรนด์ว่าเป็นหนึ่งในเหตุผลที่ AMD เสียความสามารถในการแข่งขันในตลาด
มีความเห็นว่า AMD ควรจัดสรรทีมให้กับโครงการนี้มากกว่านี้