McNUFFT – Nonuniform FFT for Apple Silicon GPUs via MLX
McNUFFT is a Python library implementing the Non-Uniform Fast Fourier Transform (NUFFT) for Apple Silicon GPUs using the MLX framework. It provides both NumPy-like and PyTorch-like APIs, supporting forward and adjoint transforms as well as gradients for machine learning workflows.
Background
- McNUFFT is an open-source library that implements the Nonuniform Fast Fourier Transform (NUFFT) on Apple Silicon GPUs using MLX, Apple's machine learning framework.
- The NUFFT is a computational tool used in fields like MRI, astronomy, and radar — it efficiently computes Fourier transforms from irregularly sampled data, which standard FFTs cannot handle directly.
- Apple Silicon (M1/M2/M3/M4) uses a unified memory architecture (CPU and GPU share memory), which MLX is designed to exploit. McNUFFT is specifically built to leverage that architecture for high-performance NUFFT.
- The project was likely created for researchers and engineers who need fast nonuniform FFTs on Apple hardware without relying on CUDA (NVIDIA's GPU compute platform).