TurboFNO: High-Performance Fourier Neural Operator with Fused FFT-GEMM-iFFT on GPU

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wu, Shixun, Zhai, Yujia, Dai, Huangliang, Zhao, Hairui, Zhu, Yue, Hu, Haiyang, Chen, Zizhong
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916693001895936
author Wu, Shixun
Zhai, Yujia
Dai, Huangliang
Zhao, Hairui
Zhu, Yue
Hu, Haiyang
Chen, Zizhong
author_facet Wu, Shixun
Zhai, Yujia
Dai, Huangliang
Zhao, Hairui
Zhu, Yue
Hu, Haiyang
Chen, Zizhong
contents Fourier Neural Operators (FNO) are widely used for learning partial differential equation solution operators. However, FNO lacks architecture-aware optimizations,with its Fourier layers executing FFT, filtering, GEMM, zero padding, and iFFT as separate stages, incurring multiple kernel launches and significant global memory traffic. We propose TurboFNO, the first fully fused FFT-GEMM-iFFT GPU kernel with built-in FFT optimizations. We first develop FFT and GEMM kernels from scratch, achieving performance comparable to or faster than the closed-source SOTA cuBLAS and cuFFT. Additionally, our FFT kernel integrates a built-in high-frequency truncation, input zero-padding, and pruning feature to avoid additional memory copy kernels. To fuse the FFT and GEMM workloads, we propose an FFT variant in which a single thread block iterates over the hidden dimension, aligning with the $k$-loop in GEMM. Additionally, we design two shared memory swizzling patterns to achieve 100\% memory bank utilization when forwarding FFT output to GEMM and enabling the iFFT to retrieve GEMM results directly from shared memory.Experimental result on an NVIDIA A100 GPU shows TurboFNO outperforms PyTorch, cuBLAS, and cuFFT by up to 150\%.
format Preprint
id arxiv_https___arxiv_org_abs_2504_11681
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle TurboFNO: High-Performance Fourier Neural Operator with Fused FFT-GEMM-iFFT on GPU
Wu, Shixun
Zhai, Yujia
Dai, Huangliang
Zhao, Hairui
Zhu, Yue
Hu, Haiyang
Chen, Zizhong
Distributed, Parallel, and Cluster Computing
Fourier Neural Operators (FNO) are widely used for learning partial differential equation solution operators. However, FNO lacks architecture-aware optimizations,with its Fourier layers executing FFT, filtering, GEMM, zero padding, and iFFT as separate stages, incurring multiple kernel launches and significant global memory traffic. We propose TurboFNO, the first fully fused FFT-GEMM-iFFT GPU kernel with built-in FFT optimizations. We first develop FFT and GEMM kernels from scratch, achieving performance comparable to or faster than the closed-source SOTA cuBLAS and cuFFT. Additionally, our FFT kernel integrates a built-in high-frequency truncation, input zero-padding, and pruning feature to avoid additional memory copy kernels. To fuse the FFT and GEMM workloads, we propose an FFT variant in which a single thread block iterates over the hidden dimension, aligning with the $k$-loop in GEMM. Additionally, we design two shared memory swizzling patterns to achieve 100\% memory bank utilization when forwarding FFT output to GEMM and enabling the iFFT to retrieve GEMM results directly from shared memory.Experimental result on an NVIDIA A100 GPU shows TurboFNO outperforms PyTorch, cuBLAS, and cuFFT by up to 150\%.
title TurboFNO: High-Performance Fourier Neural Operator with Fused FFT-GEMM-iFFT on GPU
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2504.11681