AI 助力 CUDA 程序跑上苹果 GPU,三维流体模拟提速约 10 倍
OpenFPM 平台借助 GPT-5.6 Sol 协助,让原生 CUDA/HIP 程序在 Apple M3 Pro 上运…
一段原本为英伟达 CUDA 编写的计算程序,几乎无需修改内核代码,就在搭载 M3 Pro 的苹果设备上跑了起来,并在三维流体模拟任务中获得了相较 CPU 约 10 倍的加速。这项进展由 X 网友 @Abhinav 公布,开源科学计算平台 OpenFPM 的相关 PR 已经合并可查。
关键路径:CUDA/HIP → Metal
过去十几年,GPU 计算生态高度碎片化:英伟达有 CUDA、AMD 有 HIP、苹果有 Metal,三者之间长期不兼容。本次工作的核心思路并非为 Apple Silicon 重写一套 Metal 内核,而是搭建了一条转换通道:CUDA/HIP 代码先经 Clang/HIP 处理,再通过 SPIR-V、Vulkan 与 MoltenVK 等中间层,最终交由苹果 Metal GPU 执行。整个过程没有添加任何 Metal 专用的粒子 API,应用层仍保留原有的 CUDA/HIP 风格 kernel 调用,实现了硬件透明。
AI 助手在工程中扮演的角色
推动这条链路落地的关键参与者之一是 GPT-5.6 Sol。它在约 6 小时内协助定位了 MoltenVK 与 SPIR-V 之间存在的兼容性问题,并设计出相应的变通方案,同时完成了设备端内存布局的构建。这表明 AI 正在从「辅助写代码」走向「参与底层系统设计与跨平台工程调试」的新阶段。
测试结果:10 倍加速与物理一致性
验证用例是三维 SPH 大坝溃坝模拟,涉及扫描、排序、ghost 粒子交换、原子操作等多个复杂模块。在 M3 Pro 设备上:
- Metal GPU 路径:约 6 秒完成
- CPU 顺序计算:约 60 秒完成
- GPU 利用率:接近 100%
更重要的是,开发者检查了模拟输出,苹果 GPU 版本与原始计算版本的最终物理结果保持一致,关键参数与模拟轨迹高度吻合,说明加速并非以牺牲准确性为代价。复杂度方面,粒子存储随粒子数 N 线性增长,邻居搜索工作量约为 O(N·k);未来还可借助 Thunderbolt RDMA 实现多机动态负载均衡。
局限与质疑
苹果 Metal GPU 在双精度浮点等高精度计算上支持不足,天气预测、航空航天等超级计算场景仍以英伟达专业 GPU 为主。也有网友质疑在 Mac 上跑这类小仿真的实际价值。开发者的回应较为务实:集群跑大仿真之前需要本地快速调试,而 CPU 太慢、远程传输又笨重,笔记本本地直接跑通、同一份代码原样放到 GPU 集群扩展规模,才是这项工作真正的实用场景。
