開源高效能運算框架 OpenFPM 近期實現重大突破:原本為 NVIDIA CUDA/AMD HIP 設計的核心計算程式,幾乎無需修改原始碼,即可在 Apple Silicon 的 Metal GPU 上直接運行。這項成果被視為對 CUDA 生態護城河的一次實質挑戰。
一、技術實現
OpenFPM(由歐洲 mosaic-group 維護)是專為粒子與粒子-網格混合模擬設計的可擴展 C++ 框架。過去 GPU 後端主要支援 CUDA 與 HIP,意味著高效能運算多局限於 NVIDIA 與 AMD 平台。
這次更新(OpenFPM 5.2.0 相關 PR)透過多層翻譯鏈,讓現有 CUDA/HIP 風格 kernel 可在 Apple Metal 上執行:
- Clang/HIP 處理原始程式
- 轉為 SPIR-V 中間表示
- 經 Vulkan
- 再由 MoltenVK 翻譯成 Apple Metal API
- 最終在 Apple Silicon GPU 執行
重點是應用層仍保留原有 CUDA/HIP 風格呼叫,無需為 Metal 重寫專用粒子 API,實現真正的硬體透明。
開發過程中,GPT-5.6 Sol 協助完成裝置端記憶體佈局,並在約 6 小時內定位 MoltenVK 與 SPIR-V 的兼容問題,設計變通方案。
二、實際測試結果
真正考驗的是複雜真實工作負載,而非簡單 demo。團隊以三維 SPH(Smoothed Particle Hydrodynamics)大壩潰決模擬作基準:
- 需同時處理粒子排序、鄰近列表構建、ghost 粒子交換、歸約與原子操作等多個複雜模組
- 在搭載 M3 Pro 的 Apple 裝置上:
- Metal GPU 執行約 6 秒
- 相同程式以 CPU 循序計算約 60 秒
- 加速比約 10 倍
- GPU 利用率接近 100%,顯示翻譯層幾乎沒有額外效能損耗
物理結果亦與原 CUDA 版本高度一致。
三、意義與影響
長期以來,CUDA 被視為 NVIDIA 最強的生態護城河之一——大量科學計算、AI 與模擬程式深度依賴其 API 與工具鏈。此次成果證明:
- 複雜、真實世界的 CUDA/HIP 風格程式碼,可在不重寫核心邏輯的情況下移植到 Apple Silicon
- 翻譯路徑的效能損失極低,遠優於傳統跨平台方案常見的 30–50% 損耗
- 開源社群有能力挑戰單一硬體生態的壟斷
當然,這仍屬特定框架與工作負載的成功案例,尚未覆蓋所有 CUDA 生態(如完整 cuDNN、複雜深度學習庫等)。但作為「可行路徑」的證明,已具重要象徵與實用價值。
結語
OpenFPM 讓 CUDA 程式在 Apple Silicon 上高效運行,打開了跨 GPU 平台的新可能。對於科研人員、開發者與希望降低硬體鎖定風險的企業而言,這是值得關注的進展。
隨著更多翻譯層與框架成熟,未來「同一份程式碼、多種 GPU」的場景或將更普及。
如需協助企業評估跨平台 GPU 運算方案、高效能計算部署,或香港本地 AI 與科學計算基礎設施,可了解 YSK Limited 提供的專業遠端技術團隊與顧問服務:https://ysk.hk/
參考來源
- OpenFPM GitHub PR #18(mosaic-group/openfpm)
- 開發者公開說明及技術媒體報道