FFT support coming to MPS in Mac OS Sonoma
![](https://danielraffel.me/content/images/2023/08/FFT.jpg)
FFT operators are a set of mathematical functions that are used to perform Fast Fourier Transforms. These transforms are used in a wide variety of applications, including audio processing, image processing, and signal processing.
Apple’s Metal machine learning APIs are exposed through the Metal Performance Shaders (MPS) framework. Currently, FFT operators are not available in MPS on macOS Ventura. This means that if you are using a Mac with an Apple Silicon chip, you cannot use FFT operators to accelerate your machine learning applications. ☹️
I’ve been following this PyTorch issue and was pleasantly surprised to learn that’s about to change. Apple revealed at WWDC 2023 that the next macOS update, coming later in the year to Sonoma, will include support for FFT operators in MPS for Macs equipped with Apple Silicon chips.
This will have a number of benefits. First, it will make machine learning applications faster. Second, it will free up the CPU for other tasks. Third, it will make machine learning applications more energy efficient. Some of the tasks I look forward to using this optimization to perform:
- audio processing such as noise reduction and echo cancellation
- image processing such as image denoising and image compression
- signal processing such as speech recognition and object detection
Overall, this is a significant improvement that will make machine learning applications on Macs faster, more energy efficient, and more powerful. I’m pleased to see Apple’s commitment to enabling Mac users to utilize the GPUs they’ve purchased.