November 3, 2025
Vibes, GPUs, and a stats glow-up
R interface to Apple's MLX library
R on Mac just got a GPU turbo — and it was “vibe‑coded”
TLDR: A new R package connects Apple Macs’ GPU to R for faster number crunching, showing big speed gains. The twist: the dev says it was mostly AI “vibe-coded,” sparking cheers over performance and worries about safety, maintenance, and Apple lock-in—exciting, but handle with care.
The R crowd just got a power-up: Rmlx plugs Apple Macs’ graphics chip into R so number-crunching flies. But the headline isn’t the speed—it’s the confession. The developer popped into the thread and basically said, “I vibe-coded this in a week with AI, and I don’t even know C++.” Cue collective gasp, applause, and side-eye.
Fans are hyped that R finally taps the Mac’s GPU for faster math, pointing at snappy benchmarks and lazy evaluation that “waits to compute until you say go.” Skeptics zoomed right past the demo and latched onto the drama: AI pair-programmers that are “brilliant and dumb” in the same breath, plus a bold “use at your own risk.” The vibe-coded label instantly became the community’s meme—“statistics by vibes” and “R just got a gym membership” jokes flew as folks tested Rmlx against Apple’s MLX.
Then came the usual platform brawl. Apple fans: we’re finally using this M‑series muscle. Others: what about everyone not on a shiny Mac? Also, some grumbled about missing big neural‑net layers (those are Python-only for now), while pragmatists shrugged: if it makes a 4x dent in our wait times, ship it—and audit later.
Key Points
- •Rmlx is an R interface to Apple’s MLX framework, enabling GPU-accelerated matrix operations on Apple Silicon.
- •The package implements much of MLX’s C++ API in R via functions prefixed with mlx_ and provides methods for R matrix operations.
- •Performance example shows substantial speedup for solve() on a 1000x1000 matrix when using mlx-backed arrays on GPU.
- •Rmlx supports lazy evaluation, device management (CPU/GPU) on M series chips, and base R-like subsetting and assignment.
- •Installation involves installing MLX (e.g., via brew) and then installing Rmlx from GitHub; MLX can also be built from source.