Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Vulkan
  3. VkFFT

VkFFT

MITC++v1.3.4

A high-performance GPU-accelerated Fast Fourier Transform library supporting Vulkan, CUDA, HIP, OpenCL, Level Zero, and Metal backends.

GitHubGitHub
1.7k stars134 forks0 contributors

What is VkFFT?

VkFFT is a GPU-accelerated Fast Fourier Transform library that enables high-performance multidimensional FFT computations across multiple GPU APIs, including Vulkan, CUDA, HIP, OpenCL, Level Zero, and Metal. It solves the need for a vendor-agnostic, open-source alternative to proprietary FFT libraries, offering better performance and broad hardware support. The library supports complex, real, and discrete cosine transforms with advanced algorithms for prime-length sequences.

Target Audience

Developers and researchers working on GPU-accelerated scientific computing, signal processing, or simulation projects that require high-performance FFT computations across diverse GPU hardware.

Value Proposition

Developers choose VkFFT for its cross-API compatibility, performance advantages over proprietary libraries like cuFFT, and support for advanced features like in-place transforms, multiple precisions, and convolution operations. Its open-source nature and vendor-agnostic design make it ideal for projects targeting multiple GPU platforms.

Overview

Vulkan/CUDA/HIP/OpenCL/Level Zero/Metal Fast Fourier Transform library

Use Cases

Best For

  • Accelerating scientific simulations requiring multidimensional FFTs
  • Signal processing applications on heterogeneous GPU systems
  • Real-time audio or image processing with GPU acceleration
  • High-performance computing research comparing FFT libraries
  • Cross-platform projects using Vulkan, CUDA, or Metal backends
  • Embedded GPU development on devices like Raspberry Pi 4

Not Ideal For

  • Projects requiring only CPU-based FFT computations without GPU acceleration
  • Teams wanting a drop-in FFT solution without configuring GPU APIs or command buffers
  • Applications where vendor lock-in to Nvidia or AMD is acceptable and their proprietary libraries (cuFFT/rocFFT) meet performance needs
  • Simple FFT tasks on small datasets where GPU setup overhead outweighs performance benefits

Pros & Cons

Pros

Cross-API Compatibility

Supports Vulkan, CUDA, HIP, OpenCL, Level Zero, and Metal backends, enabling use on Nvidia, AMD, Intel, and Apple GPUs across Windows, Linux, and macOS, as highlighted in the README's multi-API support.

High-Performance In-Place FFT

Performs all transformations in-place without performance loss, benchmarked to outperform cuFFT in double precision on GPUs like Nvidia A100, with provided plots showing superior global bandwidth.

Advanced Algorithm Suite

Implements radix-2/3/4/5/7/8/11/13, Rader's, and Bluestein's algorithms for efficient handling of prime-length and arbitrary-dimensional FFTs, ensuring performance for non-power-of-two sequences.

Multi-Precision Support

Offers single, double, half, and quad precision with optimized real-to-complex transforms that run up to 2x faster and use less memory, catering to diverse numerical accuracy needs.

Cons

Half Precision Limitations

Half precision computations are done in single precision, only storing data in half precision, which may not fully leverage GPU capabilities for reduced precision workloads, as admitted in the README.

No Multi-GPU Support

Lacks native support for splitting jobs across multiple GPUs; it's listed as an ambitious future feature, limiting scalability for large-scale distributed computations.

Complex Setup Process

Requires manual backend configuration (e.g., VKFFT_BACKEND definitions) and dependencies like glslang for Vulkan or NVRTC for CUDA, increasing initial integration effort and potential for errors.

Open Source Alternative To

VkFFT is an open-source alternative to the following products:

cuFFT
cuFFT

cuFFT is NVIDIA's CUDA Fast Fourier Transform library for computing FFTs on NVIDIA GPUs with high performance.

Frequently Asked Questions

Quick Stats

Stars1,747
Forks134
Contributors0
Open Issues84
Last commit2 months ago
CreatedSince 2020

Tags

#vulkan#cuda#scientific-computing#high-performance-computing#fft#hip#opencl#metal#signal-processing#fast-fourier-transform#gpu-computing#convolution#hpc

Built With

O
OpenCL
V
Vulkan
C
CUDA
H
HIP
C
CMake
M
Metal
C
C++

Included in

Vulkan3.7k
Auto-fetched 21 hours ago

Related Projects

ncnnncnn

ncnn is a high-performance neural network inference framework optimized for the mobile platform

Stars23,347
Forks4,437
Last commit23 hours ago
BgfxBgfx

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

Stars17,124
Forks2,098
Last commit1 day ago
glfwglfw

A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

Stars15,079
Forks5,889
Last commit2 months ago
MoltenVKMoltenVK

MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enabling Vulkan applications to run on macOS, iOS and tvOS.

Stars5,666
Forks515
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub