ZLUDA 6 發佈:在非 NVIDIA GPU 上執行未經修改的 CUDA 應用程式

ZLUDA 6 發佈:在非 NVIDIA GPU 上執行未經修改的 CUDA 應用程式

ZLUDA 6 透過將 CUDA 呼叫轉換為其他 API,讓未經修改的 CUDA 應用程式能在非 NVIDIA GPU 上執行。此版本標誌著相容性的重大進展,特別是擴展了對舊版遊戲物理引擎和專業 3D 渲染軟體的支援。

PhysX Pre-Alpha 支援

ZLUDA 現在包含了對 32-bit PhysX 的 pre-alpha 支援(透過 PR #651),讓 AMD GPU 使用者能夠執行依賴 NVIDIA 專有物理引擎的舊款遊戲。這可以實現更高的幀率,並啟用先前僅限於 NVIDIA 硬體才能使用的視覺效果——例如碎片和火焰。

雖然此功能目前處於 pre-alpha 階段,但存在以下限制:

  • 流體模擬可能會出現異常。
  • 將 ZLUDA 載入 Steam 遊戲的方法目前尚非最佳。
  • 完全整合至預覽版本尚需等待 PR 的合併。

Blender 與紋理支援

ZLUDA 已實作了基礎的紋理支援(PR #625)。雖然目前的實作僅限於少數使用場景,但已足以讓 Blender 在 ZLUDA 上運作。此擴展確保了 Blender 和 PhysX 都能利用必要的紋理相關 CUDA 呼叫,以便在非 NVIDIA 硬體上操作。

Windows 相容性改進

Windows 支援已升級以變得更加使用者友善,解決了 Linux 與 Windows 安裝之間的歷史差距。主要的改進在於 ZLUDA 如何處理效能函式庫(例如 cuBLAS 和 cuDNN)。

關鍵更新包括:

  • 自動化函式庫載入zluda.exe 載入器現在會自動處理效能函式庫,使用者不再需要手動傳遞參數。
  • 改進的錯誤報告:ZLUDA 現在會在缺少必要函式庫時明確通知使用者,並提供安裝說明(PR #612)。

機械學習 (ML) 增強功能

ZLUDA 持續收到更新以改善 PyTorch 相容性與一般的 ML 效能。這些更新是由使用者提交的追蹤紀錄所驅動,內容包括:

  • 新指令:透過 PRs #599, #605, #607, #609, #642, #644, 和 #629 新增。
  • 編譯器錯誤修復:在 PRs #583, #588, #585, #596, #610, #601, 和 #603 中解決。
  • 效能函式庫優化:在 PRs #587, #615, #619, #620, #621, 和 #624 中改進。

專案狀態與開發方向

ZLUDA 不再接受商業資助,已回歸為個人側邊專案。因此,開發路線圖已從商業可行性轉向開發開發者認為有趣的特性,這也解釋了近期對 PhysX、紋理和 Windows 易用性的關注。更新發佈頻率可能會低於每季一次,但開發工作仍在持續進行。

Sources