一份CUDA源码,跑上了苹果GPU 研究人员一直在做一件很多人认为「不太可能」的事情让原本为 CUDA/HIP GPU 设计的高性能计算程序跨过平台壁垒运行到苹果自己的 Metal GPU 架构上。一段原本为英伟达 CUDA 设计的计算程序几乎无需修改内核代码就直接跑在了一台搭载 M3 Pro 的苹果设备上。这是 X 网友 Abhinav 昨天公布的一项进展。更让人意外的是它并非一个简单的「向量加减乘除」演示而是在真实的三维流体模拟任务中实现了约 10 倍的速度提升。这件事的背后有一个特殊的参与者 ——GPT-5.6 Sol。事情发生在开源科学计算平台 OpenFPM 上。研究人员一直在做一件很多人认为「不太可能」的事情让原本为 CUDA/HIP GPU 设计的高性能计算程序跨过平台壁垒运行到苹果自己的 Metal GPU 架构上。为什么这很难过去十几年GPU 计算领域高度碎片化 —— 英伟达有 CUDAAMD 有 HIP苹果有 Metal。这些生态如同不同语言互相不兼容。一个用 CUDA 写成的程序通常需要大量重写才能在其他平台运行。但这次开发者没有选择重新开发一套 Metal 版本而是搭建了一条转换通道程序先经过 Clang/HIP 处理再通过 SPIR-V、Vulkan 和 MoltenVK 等中间层最终让苹果 Metal GPU 能够理解并高效执行。更重要的是他们完全没有添加任何 Metal 专用的粒子 API。应用层仍保留原有的 CUDA/HIP 风格 kernel 调用实现了真正的硬件透明。在这个过程中GPT-5.6 Sol 发挥了关键作用。它帮助完成了设备端内存布局构建用约 6 小时的时间发现了 MoltenVK 和 SPIR-V 中的兼容性问题并设计了相应的变通方案。项目链接https://github.com/mosaic-group/openfpm/pull/18真正考验这项工作的是一个复杂的测试用例 —— 三维 SPH 大坝溃坝模拟。这个任务需要同时处理扫描、排序与重排、单元格和相邻列表构建、ghost 粒子交换、归约操作以及原子操作等多个复杂模块任何一个环节出问题都会导致性能下降或物理结果偏差。但测试结果出乎预期。在搭载 M3 Pro 芯片的苹果设备上使用 Metal GPU 运行约 6 秒完成使用 CPU 顺序计算约 60 秒完成。也就是说同一个程序仅仅更换计算硬件就获得了约 10 倍的速度提升且 GPU 利用率接近 100%表明转换效率很高。更重要的是速度提升并不是以牺牲准确性换来的。开发者进一步检查了模拟结果发现苹果 GPU 版本和原始计算版本最终得到的物理结果保持一致包括关键参数和模拟轨迹都高度接近。这意味着苹果 GPU 不仅跑起来了而且真正完成了科学计算任务。开发者进一步指出粒子存储随粒子数 N 线性增长而邻居搜索等工作量大致为 O (N・k)k 为固定密度下的邻居数。目前展示的 10 倍加速是单机后端对比的结果。未来借助苹果 Thunderbolt 支持的 RDMA 技术还可以实现多机动态负载均衡让模拟在多台设备上扩展。当然这项突破距离改变整个 GPU 产业还有距离。目前苹果 Metal GPU 最大的限制之一是对高精度浮点计算支持不足而很多专业科学计算领域依赖双精度运算。因此在天气预测、航空航天模拟等超级计算场景中英伟达专业 GPU 仍然占据优势。不过也有人质疑这项探索的意义一位网友表示「市面上明明有那么多更合适的系统在 Mac 上跑这种小仿真到底有什么用」言下之意是MacBook 的 GPU 再快也终究不是为科学计算而生的这件事听起来更像一场炫技。开发者的回应颇为坦率「最大的用处就是好玩以及工作顺手。」他解释说团队的大规模仿真本就跑在集群上而这次能在苹果架构上跑通恰恰验证了设备抽象层的设计是成立的。更实际的理由藏在日常开发里 —— 跑大仿真之前总要先用小仿真调试而本地调试靠 CPU 实在太慢仿真结果动辄几个 GBSSH 根本传不回来远程桌面又笨重难用不如直接在本地跑。最妙的地方在于在笔记本上调试通过的那份代码原封不动地放到 GPU 集群上就能自动扩展规模。这项探索还证明了同一套 CUDA/HIP 风格的算法可以相对透明地运行在 Apple Silicon 等不同硬件后端上。未来软件开发者或许不再被单一 GPU 生态所绑定。此外这也展现了 AIGPT-5.6 Sol正在从「帮助写代码」走向「参与底层系统设计、优化和跨平台工程调试」的新阶段。苹果 GPU 这次跨过 CUDA 鸿沟可能只是一个开始。

本月热点