一份CUDA源码,跑上了苹果GPU

机器之心
个人专栏
热度: 5330

一段为英伟达CUDA设计的三维流体模拟程序,经跨平台转换通道(Clang/HIP→SPIR-V→Vulkan→MoltenVK)几乎无需修改即可在苹果M3 Pro GPU上高效运行,实现约10倍速度提升且结果准确,验证了硬件抽象与AI辅助底层系统调试的新路径。

摘要由 Mars AI 生成
本摘要由 Mars AI 模型生成,其生成内容的准确性、完整性还处于迭代更新阶段。

一段原本为英伟达 CUDA 设计的计算程序,几乎无需修改内核代码,就直接跑在了一台搭载 M3 Pro 的苹果设备上。

CUDA

这是 X 网友 @Abhinav 昨天公布的一项进展。更让人意外的是,它并非一个简单的「向量加减乘除」演示,而是在真实的三维流体模拟任务中,实现了约 10 倍的速度提升。

CUDA

这件事的背后,有一个特殊的参与者 ——GPT-5.6 Sol。

事情发生在开源科学计算平台 OpenFPM 上。研究人员一直在做一件很多人认为「不太可能」的事情:让原本为 CUDA/HIP GPU 设计的高性能计算程序,跨过平台壁垒,运行到苹果自己的 Metal GPU 架构上。

为什么这很难?过去十几年,GPU 计算领域高度碎片化 —— 英伟达有 CUDA,AMD 有 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 中的兼容性问题,并设计了相应的变通方案。

CUDA

项目链接: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 实在太慢;仿真结果动辄几个 GB,SSH 根本传不回来,远程桌面又笨重难用,不如直接在本地跑。最妙的地方在于,在笔记本上调试通过的那份代码,原封不动地放到 GPU 集群上,就能自动扩展规模。

CUDA

这项探索还证明了:同一套 CUDA/HIP 风格的算法,可以相对透明地运行在 Apple Silicon 等不同硬件后端上。未来,软件开发者或许不再被单一 GPU 生态所绑定。

CUDA

此外,这也展现了 AI(GPT-5.6 Sol)正在从「帮助写代码」走向「参与底层系统设计、优化和跨平台工程调试」的新阶段。

苹果 GPU 这次跨过 CUDA 鸿沟,可能只是一个开始。

参考链接:https://x.com/Abhinavsns/status/2079774018748694696

本文来自微信公众号 “机器之心”(ID:almosthuman2014),作者:机器之心

声明:本文为入驻“火星财经 专栏”作者作品,不代表火星财经官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
本内容旨在传递行业动态,不构成投资建议或承诺。