CUDA 程式成功跑上 Apple Silicon:OpenFPM 打開跨平台新可能

重點摘要

開源高效能運算框架 OpenFPM 近期實現重大突破:原本為 NVIDIA CUDA/AMD HIP 設計的核心計算程式,幾乎無需修改原始碼,即可在 Apple Silicon 的 Metal GPU 上直接運行。這項成果被視為對 CUDA 生態護城河的一次實質挑戰。

CUDA 程式成功跑上 Apple Silicon:OpenFPM 打開跨平台新可能

開源高效能運算框架 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 上執行:

  1. Clang/HIP 處理原始程式
  2. 轉為 SPIR-V 中間表示
  3. 經 Vulkan
  4. 再由 MoltenVK 翻譯成 Apple Metal API
  5. 最終在 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)
  • 開發者公開說明及技術媒體報道

延伸閱讀 · 相關服務與產品