OpenFPM's Experimental Metal Backend: Running CUDA Programs on Apple Silicon

·Toolin Editorial Team

An experimental Metal backend PR for the open-source scientific computing framework OpenFPM runs original CUDA kernels nearly unchanged on an M3 Pro via Clang/HIP-SPIR-V-Vulkan-MoltenVK, with a measured ~10x speedup on a 3D SPH benchmark.

OpenFPM's Experimental Metal Backend: Running CUDA Programs on Apple Silicon

A compute program originally written for NVIDIA CUDA ran on an Apple device with an M3 Pro with almost no changes to its kernel code — and not on a toy demo like vector addition, but with roughly a 10x speedup on a real three-dimensional fluid simulation task.

The thing that made this happen is a newly opened "experimental Metal backend" PR for the open-source scientific computing framework OpenFPM. The caveats first:

⚠️ Three boundaries we have to be honest about:

  1. This is an open, unmerged PR (GitHub PR #18, author abhinavsns, opened 2026-07-17). As of writing it remains unmerged; it is experimental, and do not take it straight to production.
  2. Apple Metal lacks adequate double-precision float support, making it a poor fit for double-precision-dependent HPC workloads like weather prediction and aerospace. That territory remains NVIDIA's professional-GPU home ground.
  3. It is currently a single-node backend. Multi-node scaling would rely on Thunderbolt RDMA and belongs to future work.

As for the "GPT-5.6 Sol did it in 6 hours" claim circulating online — that is only the author's own account on X. The GitHub PR itself contains no statement about AI assistance. This article does not treat it as fact, and you should discount similar claims accordingly.

What It Is

OpenFPM is a parallel scientific computing framework for particle and grid methods; official repository mosaic-group/openfpm, project homepage openfpm.mpi-cbg.de.

For the past decade-plus, GPU computing has been highly fragmented — NVIDIA has CUDA, AMD has HIP, Apple has Metal, all mutually incompatible. This PR's core contribution is not "writing yet another Metal version." It builds a translation channel that keeps the original CUDA/HIP-style .cu kernel source unchanged (the "source of truth") while running it transparently on the Apple Silicon GPU underneath.

The Translation Chain

The PR title — "Add transparent Metal GPU support through MoltenVK and SPIR-V while keeping existing .cu files as the source of truth" — lays out the chain precisely:

.cu kernel (CUDA/HIP style)
      │  Clang/HIP compilation
      ▼
   SPIR-V
      │  Vulkan
      ▼
   MoltenVK
      │
      ▼
   Apple Metal GPU

The key point is that the application layer never notices — the developers added no Metal-specific particle APIs; applications still make the same CUDA/HIP-style kernel calls as before, and the hardware differences are absorbed inside the framework. That is genuine "hardware transparency."

Hands-On Benchmark: 3D SPH Dam-Break Simulation

The test case in the PR is a three-dimensional SPH (smoothed-particle hydrodynamics) dam-break simulation complex enough to matter, exercising modules like sweeping, sorting and reordering, cell and neighbor-list construction, ghost particle exchange, reduction operations, and atomic operations.

On an Apple device with an M3 Pro:

BackendTimeNotes
Metal GPUabout 6 secondsGPU utilization near 100%
CPU sequentialabout 60 secondsbaseline

A speedup of roughly 10x, achieved purely by switching the compute backend. On closer inspection the developer found the physics results from the Metal and CPU versions stayed consistent — which is crucial for scientific computing; fast but wrong is worthless.

The Complexity Boundary

Particle storage grows linearly with particle count N, and neighbor searches and similar work are roughly O(N·k). The 10x speedup shown is the result of a single-node backend comparison.

The future plan is multi-node dynamic load balancing via RDMA over Apple's Thunderbolt, but no code has landed for that yet — it remains roadmap.

Who It Suits, and Who It Doesn't

Worth an early look:

  • Researchers doing scientific computing or physics simulation on a Mac who want to harness the Apple Silicon GPU
  • Teams maintaining CUDA/HIP codebases who want to reach macOS without rewriting kernels
  • Developers following cross-platform GPU compilation chains (SPIR-V/MoltenVK)

Not a fit for:

  • Weather, aerospace, and HPC scenarios that need double-precision floats — Apple Metal cannot carry them
  • Anyone needing a stable production environment — this is an unmerged PR and the API is still moving
  • Multi-node distributed HPC — currently a single-node backend

How to Try It

Reading the PR beats reading articles about it; the author posted reproduction steps in the PR description:

If you decide to run it, use the PR branch rather than main, and be mentally prepared for experimental code to change at any time. Once it runs, validate physics consistency on a small-scale SPH or particle problem before scaling up — just as the PR author did: confirm the Metal and CPU results agree first, then talk speedups.

Why This Route Matters

If the PR is eventually merged, it is a substantive step forward for Apple Silicon's position in scientific computing: developers keep their existing CUDA/HIP investment from going to waste while gaining the compute of Metal GPUs on a Mac.

But also keep those three boundaries in mind — experimental, single-precision, single-node. Track it as a promising direction, not as a production plan for tomorrow.

Related articles

skill-cleaner: An Open-Source Tool to Put Your Agent Skills on a Diet
AI Tutorials

skill-cleaner: An Open-Source Tool to Put Your Agent Skills on a Diet

Peter, the 'father of the lobster,' has open-sourced skill-cleaner: 5 core features that audit and optimize your Agent skill descriptions, saving Token costs and improving Agent selection accuracy. Now open on GitHub.

Toolin Editorial Team
SkyClaw-v1.0: A Free Agent Model Closing In on Opus 4.6
AI Products

SkyClaw-v1.0: A Free Agent Model Closing In on Opus 4.6

Kunlun Tech releases the SkyClaw-v1.0 Agent model: performance approaching Claude Opus 4.6 at half the price of mainstream models, OpenAI-interface compatible, free for a limited time.

Toolin Editorial Team
CODA: Letting LLMs and Novices Write Speed-of-Light GPU Kernels
AI Products

CODA: Letting LLMs and Novices Write Speed-of-Light GPU Kernels

An open-source project from MIT, Princeton and others rewrites the scattered computations in Transformer training into the GEMM-Epilogue pattern, speeding up backpropagation by 1.6-1.8x

Toolin Editorial Team
Multi-Machine Codex Collaboration: How to Actually Use Up Your AI Membership Quota
AI Tutorials

Multi-Machine Codex Collaboration: How to Actually Use Up Your AI Membership Quota

Build a Codex multi-machine collaboration system with 4 Macs, from research and planning to batch video generation, turning your AI membership from 'renewal anxiety' into 'continuous output'

Toolin Editorial Team
ECC: An Open-Source Configuration System with 38 Agents for Claude Code
AI Products

ECC: An Open-Source Configuration System with 38 Agents for Claude Code

A GitHub favorite with 150k stars: a Claude Code configuration powerhouse with 38 specialized agents, 156 skills, and 1282 security tests, fully open-sourced under MIT

Toolin Editorial Team
Hallo-Live: Real-Time Text-Driven Audiovisual Digital Humans
AI Products

Hallo-Live: Real-Time Text-Driven Audiovisual Digital Humans

An open-source real-time digital human generation system: text input synchronously generates talking video and speech, with 20.38 FPS throughput and 0.94-second end-to-end latency

Toolin Editorial Team