🤖 AI Summary
This work addresses the inefficiency of high-dimensional data dimensionality reduction and visualization on Apple Silicon platforms by proposing the first end-to-end GPU-accelerated pipeline based on the MLX framework. The approach efficiently implements six mainstream dimensionality reduction algorithms—including UMAP and t-SNE—and k-nearest neighbor graph construction on the Metal backend, complemented by a real-time scatter plot renderer that operates without matplotlib dependencies and leverages hardware-accelerated H.264 encoding. Experimental results demonstrate that on an M3 Ultra chip, processing 70,000 points from Fashion-MNIST requires only 2.1–3.8 seconds for embedding computation and 1.4 seconds to render an 800-frame animation, yielding a total end-to-end runtime of 3.6–5.2 seconds—substantially outperforming conventional CPU-based or cross-platform alternatives.
📝 Abstract
mlx-vis is a Python library that implements six dimensionality reduction methods and a k-nearest neighbor graph algorithm entirely in MLX, Apple's array framework for Apple Silicon. The library provides UMAP, t-SNE, PaCMAP, TriMap, DREAMS, CNE, and NNDescent, all executing on Metal GPU through a unified fit_transform interface. Beyond embedding computation, mlx-vis includes a GPU-accelerated circle-splatting renderer that produces scatter plots and smooth animations without matplotlib, composing frames via scatter-add alpha blending on GPU and piping them to hardware H.264 encoding. On Fashion-MNIST with 70,000 points, all methods complete embedding in 2.1-3.8 seconds and render 800-frame animations in 1.4 seconds on an M3 Ultra, with the full pipeline from raw data to rendered video finishing in 3.6-5.2 seconds. The library depends only on MLX and NumPy, is released under the Apache 2.0 license, and is available at https://github.com/hanxiao/mlx-vis.