Generating Efficient FFT GPU Code with Lift

Bastian Köpcke, Michel Steuwer, Sergei Gorlatch

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

The Fast Fourier Transform is a well-known algorithm used in many high-performance applications, ranging from signal processing to convolutional neural networks.

In this paper, we encode FFTs by building high-level abstractions based on a set of functional parallel patterns in the Lift language. Abstractions are derived from and closely resemble mathematical definitions for FFTs. We leverage the Lift performance-portable code generator to generate high performing GPU code for FFTs. No FFT-specific patterns are required for this, showing the expressive power of the generic parallel patterns used in Lift.

Our experimental results show that our approach achieves performance better than AMD's OpenCL implementation clFFT on an Nvidia GPU. Nvidia's highly optimized cuFFT implementation still performs better on their GPUs.
Original languageEnglish
Title of host publicationProceedings of the 8th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing
Place of PublicationNew York, NY, USA
PublisherACM Association for Computing Machinery
Number of pages13
ISBN (Print)9781450368148
Publication statusPublished - 18 Aug 2019
EventFHPNC 2019 Functional High-Performance and Numerical Computing
: ICFP 19 Berlin
- Berlin, Germany
Duration: 18 Aug 201918 Aug 2019


WorkshopFHPNC 2019 Functional High-Performance and Numerical Computing
Abbreviated titleFHPNC
Internet address

Keywords / Materials (for Non-textual outputs)

  • Code Generation
  • GPU
  • FFT
  • Lift


Dive into the research topics of 'Generating Efficient FFT GPU Code with Lift'. Together they form a unique fingerprint.

Cite this