超越 vDSP:通过双层寄存器-线程组内存分解在 Apple Silicon 上实现 138 GFLOPS 的 Radix-8 Stockham FFT
分布式、并行与集群计算
2026-03-31 v1 数学软件
性能
摘要
我们提出了一种针对 Apple Silicon GPU 的优化快速傅里叶变换(FFT)实现,在 复单精度变换下达到 138.45 GFLOPS,较 Apple 高度优化的 vDSP/Accelerate 基线(107 GFLOPS)提升 29%。我们的方法基于一个\emph{双层局部内存模型},该模型将 Apple GPU 的 208 KiB 寄存器文件形式化地定义为主要数据驻留层,将 32 KiB 线程组内存定义为仅交换层,扩展了 2015 年一篇关于 Intel 集成 GPU FFT 用于雷达处理的博士论文中建立的分解框架。我们使用 Metal Shading Language(MSL)实现并评估了 radix-4 和 radix-8 分裂基 Stockham 核,证明 radix-8 时域抽取蝴蝶结构配合 512 个线程可取得最佳性能。我们进一步首次研究了 Apple 的 \texttt{simdgroup\_matrix} 88 硬件 MMA 在 FFT 蝴蝶计算中的应用,并报告了一个反直觉的发现:在 Apple GPU 上,线程组内存屏障开销低廉(2 周期),而分散的线程组访问模式才是真正的瓶颈。我们的多尺寸实现通过四步分解支持 至 ,突破了 32 KiB 线程组内存限制。所有核均经过 vDSP 参考输出的验证。
关键词
引用
@article{arxiv.2603.27569,
title = {Beating vDSP: A 138 GFLOPS Radix-8 Stockham FFT on Apple Silicon via Two-Tier Register-Threadgroup Memory Decomposition},
author = {Mohamed Amine Bergach},
journal= {arXiv preprint arXiv:2603.27569},
year = {2026}
}