AMD âm thầm hỗ trợ một bản triển khai CUDA dựa trên ROCm và công bố mã nguồn mở
- AMD đã nỗ lực trong nhiều năm để giúp các nhà phát triển chạy các codebase nhắm tới API CUDA của NVIDIA trên HIP/ROCm.
- Dù có những nỗ lực này, nếu theo đuổi hiệu năng tối ưu thì đây vẫn chưa phải là một giải pháp tốt (đơn giản, tức thì và bảo đảm hiệu năng).
- Trong 2 năm qua, AMD đã âm thầm hỗ trợ một dự án nhằm cung cấp khả năng tương thích nhị phân ở cấp thư viện, để nhiều ứng dụng NVIDIA CUDA có thể chạy trên ngăn xếp AMD ROCm mà không cần thay đổi mã nguồn.
ZLUDA: hỗ trợ CUDA cho đồ họa Intel
- Vài năm trước, một dự án mang tên ZLUDA đã được khởi động để hỗ trợ CUDA trên đồ họa Intel, nhưng sau đó bị dừng vì lý do cá nhân.
- Nhà phát triển ZLUDA, Andrzej Janik, đã nhận hợp đồng từ AMD vào năm 2022 để áp dụng ZLUDA cho GPU AMD bằng HIP/ROCm.
- Trong 2 năm qua, Janik đã triển khai ZLUDA trên GPU Radeon, cho phép nhiều phần mềm CUDA chạy trên HIP/ROCm mà không cần sửa đổi.
Công bố mã nguồn mở của ZLUDA
- AMD đã ngừng tài trợ cho dự án này trong năm nay và quyết định không phát hành nó như một sản phẩm phần mềm.
- Tuy nhiên, khi hợp đồng kết thúc có một điều khoản cho phép Janik công bố công việc này dưới dạng mã nguồn mở.
- Janik đã cung cấp quyền truy cập để thử nghiệm và benchmark bản triển khai ZLUDA mới này.
Giới hạn của bản triển khai ZLUDA và mã nguồn mở
- Bản triển khai ZLUDA không an toàn 100%, chẳng hạn hỗ trợ NVIDIA OptiX chưa hoàn chỉnh và hiện chưa xử lý được phần mềm không sử dụng mã hợp ngữ PTX.
- Trong đa số trường hợp, bản triển khai này có năng lực đáng kinh ngạc đối với nỗ lực của chỉ một nhà phát triển.
- Mã nguồn mở được cấp phép kép theo Apache 2.0 hoặc MIT.
- Ngôn ngữ lập trình Rust đã được sử dụng cho bản triển khai Radeon này.
Ý kiến của GN⁺
- Bài viết này giới thiệu một dự án mà AMD đã âm thầm hỗ trợ để cung cấp khả năng tương thích CUDA, và đây có thể là một đóng góp lớn cho cộng đồng mã nguồn mở.
- ZLUDA là một bước tiến quan trọng giúp các nhà phát triển chạy ứng dụng CUDA trên nền tảng AMD mà không cần thay đổi mã nguồn.
- Những nỗ lực như vậy mang đến cho người dùng GPU AMD cơ hội tiếp cận một hệ sinh thái phần mềm rộng lớn hơn, và điểm thú vị là việc tận dụng một ngôn ngữ lập trình hiện đại như Rust.
2 bình luận
NVIDIA biến đi!
Ý kiến trên Hacker News
ZLUDA được công khai do AMD ngừng tài trợ
Đề cập đến CUDA Dark API
Ý kiến ủng hộ AMD phá vỡ thế độc quyền của CUDA
Chia sẻ trải nghiệm về việc cố chạy Stable Diffusion trên GPU AMD và những khó khăn gặp phải
Vài năm sau khi Blender bỏ OpenCL và dùng backend CUDA, họ đã thêm backend Radeon HIP, nhưng có vẻ dùng ZLUDA + backend CUDA lại hơi nhanh hơn backend Radeon HIP.
Việc AMD ngừng tài trợ cho dự án này có vẻ là một quyết định khó hiểu.
Câu hỏi liên quan đến tin Nvidia đã lách kiểm tra driver mang giấy phép GPL của kernel
Một bài trên Phoronix giới thiệu hướng dẫn dành cho những ai muốn tự biên dịch trực tiếp stack ROCm/HIP của AMD.
ROCm được giải thích rõ hơn trên GitHub thay vì trong tài liệu chính thức, điều này nhấn mạnh tầm quan trọng của branding như một trong những lý do AMD mất sức cạnh tranh trên thị trường.
Có ý kiến cho rằng AMD nên phân bổ thêm nhiều đội ngũ hơn cho dự án này.