heFFTe: Scaling FFT for Exascale

By Jack Dongarra and Stanimire Tomov

July 15, 2020

In this contributed feature, Jack Dongarra (Director of the Innovative Computing Laboratory at The University of Tennessee) and Stanimire Tomov (Research Director in the Innovative Computing Laboratory) introduce their work on the heFFTe (Highly Efficient FFT for Exascale) library, which they are developing in preparation for the coming class of exascale supercomputers.

Exascale computing aspires to provide breakthrough solutions addressing today’s most critical challenges in scientific discovery, energy assurance, economic competitiveness, and national security. This has been the main target of the US Department of Energy (DOE) Exascale Computing Initiative (ECI). Formed in 2016, ECI aims to accelerate research, development, acquisition, and deployment projects to deliver exacale-computing capability to the DOE labs by the early to mid 2020s. ECI’s main component, the Exascale Computing Project (ECP), was launched to bring together research, development, and deployment activities as part of a capable exascale computing ecosystem to ensure an enduring exascale computing capability for the nation.

Exascale computing aims to meet the increasing demands from large scientific applications. Software targeting exascale is typically designed for heterogeneous architectures; henceforth, it is not only important to develop well-designed software, but also make it aware of the hardware architecture and efficiently exploit its power. Currently, several ECP applications rely on efficient computation of the Fast Fourier Transform (FFT); thus, one of the ECP-supported software technology efforts is the design and implementation of a Highly Efficient FFT for Exascale (heFFTe) library that targets the upcoming exascale supercomputers.

FFT LIBRARIES

Considered one of the top 10 algorithms of the 20th century, the FFT is widely used by applications in science and engineering. This includes applications and diverse numerical software ranging from molecular dynamics to spectrum estimation, fast convolution and correlation, signal modulation, wireless multimedia applications, and machine learning. For all these applications, it is critical to have access to a heterogeneous, fast and scalable parallel FFT library, with an implementation that can take advantage of novel hardware components, and efficiently exploit their benefits.

Highly efficient implementations to compute FFT on a single node have been developed for a long time. One of the most widely used libraries is FFTW, which has been tuned to optimally perform in several architectures. Vendor libraries for this purpose have also been highly optimized; such is the case of MKL (Intel), ESSL (IBM), CUFFT (NVIDIA) and clFFT (AMD). Novel libraries are also being developed to further optimize single node FFT computation, e.g., FFTX. Most of the previous libraries have been extended to distributed-memory versions, some by the original developers, and others by different authors.

However, the current state-of-the-art FFT libraries are not scalable on large heterogeneous machines with many nodes or even on one node with multiple high-performance GPUs. Furthermore, these libraries require large FFTs in order to deliver acceptable performance on one GPU. Efforts to simply enhance classical and existing FFT packages with optimization tools and techniques—like autotuning and code generation—have so far not been able to provide the efficient, high-performance FFT library capable of harnessing the power of supercomputers with heterogeneous GPU-accelerated nodes. In particular, ECP applications that require FFT-based solvers might suffer from the lack of fast and scalable 3-D FFT routines for distributed heterogeneous parallel systems, which is the very type of system that will be used in upcoming Exascale machines.

heFFTe METHODOLOGY AND ALGRORITHMIC DESIGN

HeFFTe (pronounced “hefty”), provides very good (linear) scalability for large node count. It is open-source and consists of C++ and CUDA kernels with (CUDA-aware) MPI and OpenMP interface for communication. It has a user-friendly interface and does not require any commercial compiler. Wrappers to interface with C, Fortran and Python are available. Its main objective is to become the standard for large FFT computations on the upcoming exascale systems. Fig. 1 shows how heFFTe is positioned on the ECP software stack, and some of its target exascale applications (gray boxes).

Fig. 1. heFFTe in ECP software stack.

Multidimensional FFTs can be performed by a sequence of low-dimensional FFTs. Typical approaches used by parallel libraries are the “pencil” and “slab” decompositions. Fig. 2 illustrates the pencil decomposition approach, which computes 3D FFTs by means of three batched 1D FFTs. The original domain is given on the left, spread on a 4x3x3 processor grid. Next is a communication step that redistributes the domain into 1D vectors (pencils) spreading entirely through one of the (3D) directions. Then, in parallel, each processor performs 1D FFTs on the pencils that it holds, followed by communication to form pencils in the next direction, 1D FFTs for that direction, repeat the same for the last direction, followed by final domain redistribution to the original domain.  On the other hand, slab decomposition relies on computing sets of 2D and 1D FFTs.

Fig. 2. Schematic view of a 3D FFT with pencil decomposition using 4x3x3 processor grid.

Communications at Exascale

The current bottleneck for many applications is communication costs. On the Summit pre-exascale supercomputer at ORNL for example, a computational node can perform about 13,440 double precision floating-point (FP64) operations for the time it can receive (or send) a single FP64 value. Thus, if an algorithm does not perform about 13,440 operations per value sent (or received), the node will idle, waiting for data. The FFT does not provide this high value of data reuse. In fact, for a vector of size N, the number of FFT floating point operations is only O(N log2N), making FFTs memory-bound operations. A typical profile is shown on Figure 3, Right, where the MPI communications take more than 97% of the total time. A corresponding run on multi-core CPUs is given on Figure 3, Left. The local FFT operations are memory bound and take about 50% of the time. The other 50% are in MPI communications. heFFTe accelerates the local operations 43× using GPUs. However, MPI communications remained about the same, using CUDA-Aware MPI doing GPUDirect communication.

Fig. 3. Profile of a 3D FFT of size 10243 on 4 CPU Summit nodes – using 128 MPI processes, 32 MPIs per node, 16 MPIs per socket (Left) and 4 GPU Summit nodes – using 24 MPI processes, 6 MPIs per node, 3 MPI per socket, 1 GPU per MPI (Right).

Scalable Performance 

Fig. 4 illustrates the strong (Left) and weak (Right) scalability of heFFTe, also compared to the FFTE library. HeFFTe overcomes FFTE in performance by a factor of two and has better scalability. Scalability is very important for large-scale systems. In the strong scaling, the same problem is solved on increasing number of nodes, and the time to solution is ideally supposed to go down, proportional to the compute resources used. In weak scaling, both problem sizes and compute resources are proportionally increased, so ideally the time to solution will be a flat line, e.g., as achieved by heFFTe on Fig. 4, Right.

Fig. 4. Strong scalability for a 10243 FFT (left), and weak scalability comparison (right) on Summit pre-exascale supercomputer.

Read the full paper, published in Computational Science – ICCS 2020, to learn more about heFFTe, its performance on current supercomputers and use in ECP applications.

 

Subscribe to HPCwire's Weekly Update!

Be the most informed person in the room! Stay ahead of the tech trends with industry updates delivered to you every week!

AMD Announces Flurry of New Chips

October 10, 2024

AMD today announced several new chips including its newest Instinct GPU — the MI325X — as it chases Nvidia. Other new devices announced at the company event in San Francisco included the 5th Gen AMD EPYC processors, Read more…

NSF Grants $107,600 to English Professors to Research Aurora Supercomputer

October 9, 2024

The National Science Foundation has granted $107,600 to English professors at US universities to unearth the mysteries of the Aurora supercomputer. The two-year grant recipients will write up what the Aurora supercompute Read more…

VAST Looks Inward, Outward for An AI Edge

October 9, 2024

There’s no single best way to respond to the explosion of data and AI. Sometimes you need to bring everything into your own unified platform. Other times, you lean on friends and neighbors to chart a way forward. Those Read more…

Google Reports Progress on Quantum Devices beyond Supercomputer Capability

October 9, 2024

A Google-led team of researchers has presented more evidence that it’s possible to run productive circuits on today’s near-term intermediate scale quantum devices that are beyond the reach of classical computing. � Read more…

At 50, Foxconn Celebrates Graduation from Connectors to AI Supercomputing

October 8, 2024

Foxconn is celebrating its 50th birthday this year. It started by making connectors, then moved to systems, and now, a supercomputer. The company announced it would build the supercomputer with Nvidia's Blackwell GPUs an Read more…

ZLUDA Takes Third Wack as a CUDA Emulator

October 7, 2024

The ZLUDA CUDA emulator is back in its third invocation. At one point, the project was quietly funded by AMD and demonstrated the ability to run unmodified CUDA applications with near-native performance on AMD GPUs. Cons Read more…

NSF Grants $107,600 to English Professors to Research Aurora Supercomputer

October 9, 2024

The National Science Foundation has granted $107,600 to English professors at US universities to unearth the mysteries of the Aurora supercomputer. The two-year Read more…

VAST Looks Inward, Outward for An AI Edge

October 9, 2024

There’s no single best way to respond to the explosion of data and AI. Sometimes you need to bring everything into your own unified platform. Other times, you Read more…

Google Reports Progress on Quantum Devices beyond Supercomputer Capability

October 9, 2024

A Google-led team of researchers has presented more evidence that it’s possible to run productive circuits on today’s near-term intermediate scale quantum d Read more…

At 50, Foxconn Celebrates Graduation from Connectors to AI Supercomputing

October 8, 2024

Foxconn is celebrating its 50th birthday this year. It started by making connectors, then moved to systems, and now, a supercomputer. The company announced it w Read more…

The New MLPerf Storage Benchmark Runs Without ML Accelerators

October 3, 2024

MLCommons is known for its independent Machine Learning (ML) benchmarks. These benchmarks have focused on mathematical ML operations and accelerators (e.g., Nvi Read more…

DataPelago Unveils Universal Engine to Unite Big Data, Advanced Analytics, HPC, and AI Workloads

October 3, 2024

DataPelago this week emerged from stealth with a new virtualization layer that it says will allow users to move AI, data analytics, and ETL workloads to whateve Read more…

Stayin’ Alive: Intel’s Falcon Shores GPU Will Survive Restructuring

October 2, 2024

Intel's upcoming Falcon Shores GPU will survive the brutal cost-cutting measures as part of its "next phase of transformation." An Intel spokeswoman confirmed t Read more…

How GenAI Will Impact Jobs In the Real World

September 30, 2024

There’s been a lot of fear, uncertainty, and doubt (FUD) about the potential for generative AI to take people’s jobs. The capability of large language model Read more…

Shutterstock_2176157037

Intel’s Falcon Shores Future Looks Bleak as It Concedes AI Training to GPU Rivals

September 17, 2024

Intel's Falcon Shores future looks bleak as it concedes AI training to GPU rivals On Monday, Intel sent a letter to employees detailing its comeback plan after Read more…

Granite Rapids HPC Benchmarks: I’m Thinking Intel Is Back (Updated)

September 25, 2024

Waiting is the hardest part. In the fall of 2023, HPCwire wrote about the new diverging Xeon processor strategy from Intel. Instead of a on-size-fits all approa Read more…

Ansys Fluent® Adds AMD Instinct™ MI200 and MI300 Acceleration to Power CFD Simulations

September 23, 2024

Ansys Fluent® is well-known in the commercial computational fluid dynamics (CFD) space and is praised for its versatility as a general-purpose solver. Its impr Read more…

AMD Clears Up Messy GPU Roadmap, Upgrades Chips Annually

June 3, 2024

In the world of AI, there's a desperate search for an alternative to Nvidia's GPUs, and AMD is stepping up to the plate. AMD detailed its updated GPU roadmap, w Read more…

Nvidia Shipped 3.76 Million Data-center GPUs in 2023, According to Study

June 10, 2024

Nvidia had an explosive 2023 in data-center GPU shipments, which totaled roughly 3.76 million units, according to a study conducted by semiconductor analyst fir Read more…

Shutterstock_1687123447

Nvidia Economics: Make $5-$7 for Every $1 Spent on GPUs

June 30, 2024

Nvidia is saying that companies could make $5 to $7 for every $1 invested in GPUs over a four-year period. Customers are investing billions in new Nvidia hardwa Read more…

Shutterstock 1024337068

Researchers Benchmark Nvidia’s GH200 Supercomputing Chips

September 4, 2024

Nvidia is putting its GH200 chips in European supercomputers, and researchers are getting their hands on those systems and releasing research papers with perfor Read more…

Comparing NVIDIA A100 and NVIDIA L40S: Which GPU is Ideal for AI and Graphics-Intensive Workloads?

October 30, 2023

With long lead times for the NVIDIA H100 and A100 GPUs, many organizations are looking at the new NVIDIA L40S GPU, which it’s a new GPU optimized for AI and g Read more…

Leading Solution Providers

Contributors

IBM Develops New Quantum Benchmarking Tool — Benchpress

September 26, 2024

Benchmarking is an important topic in quantum computing. There’s consensus it’s needed but opinions vary widely on how to go about it. Last week, IBM introd Read more…

Intel Customizing Granite Rapids Server Chips for Nvidia GPUs

September 25, 2024

Intel is now customizing its latest Xeon 6 server chips for use with Nvidia's GPUs that dominate the AI landscape. The chipmaker's new Xeon 6 chips, also called Read more…

Quantum and AI: Navigating the Resource Challenge

September 18, 2024

Rapid advancements in quantum computing are bringing a new era of technological possibilities. However, as quantum technology progresses, there are growing conc Read more…

Google’s DataGemma Tackles AI Hallucination

September 18, 2024

The rapid evolution of large language models (LLMs) has fueled significant advancement in AI, enabling these systems to analyze text, generate summaries, sugges Read more…

IonQ Plots Path to Commercial (Quantum) Advantage

July 2, 2024

IonQ, the trapped ion quantum computing specialist, delivered a progress report last week firming up 2024/25 product goals and reviewing its technology roadmap. Read more…

Microsoft, Quantinuum Use Hybrid Workflow to Simulate Catalyst

September 13, 2024

Microsoft and Quantinuum reported the ability to create 12 logical qubits on Quantinuum's H2 trapped ion system this week and also reported using two logical qu Read more…

US Implements Controls on Quantum Computing and other Technologies

September 27, 2024

Yesterday the Commerce Department announced export controls on quantum computing technologies as well as new controls for advanced semiconductors and additive Read more…

Everyone Except Nvidia Forms Ultra Accelerator Link (UALink) Consortium

May 30, 2024

Consider the GPU. An island of SIMD greatness that makes light work of matrix math. Originally designed to rapidly paint dots on a computer monitor, it was then Read more…

  • arrow
  • Click Here for More Headlines
  • arrow
HPCwire