FourierPIM: High-Throughput In-Memory Fast Fourier Transform and Polynomial Multiplication

04/05/2023
by   Orian Leitersdorf, et al.
0

The Discrete Fourier Transform (DFT) is essential for various applications ranging from signal processing to convolution and polynomial multiplication. The groundbreaking Fast Fourier Transform (FFT) algorithm reduces DFT time complexity from the naive O(n^2) to O(n log n), and recent works have sought further acceleration through parallel architectures such as GPUs. Unfortunately, accelerators such as GPUs cannot exploit their full computing capabilities as memory access becomes the bottleneck. Therefore, this paper accelerates the FFT algorithm using digital Processing-in-Memory (PIM) architectures that shift computation into the memory by exploiting physical devices capable of storage and logic (e.g., memristors). We propose an O(log n) in-memory FFT algorithm that can also be performed in parallel across multiple arrays for high-throughput batched execution, supporting both fixed-point and floating-point numbers. Through the convolution theorem, we extend this algorithm to O(log n) polynomial multiplication - a fundamental task for applications such as cryptography. We evaluate FourierPIM on a publicly-available cycle-accurate simulator that verifies both correctness and performance, and demonstrate 5-15x throughput and 4-13x energy improvement over the NVIDIA cuFFT library on state-of-the-art GPUs for FFT and polynomial multiplication.

READ FULL TEXT
research
06/09/2022

AritPIM: High-Throughput In-Memory Arithmetic

Digital processing-in-memory (PIM) architectures are rapidly emerging to...
research
05/06/2023

ConvPIM: Evaluating Digital Processing-in-Memory through Convolutional Neural Network Acceleration

Processing-in-memory (PIM) architectures are emerging to reduce data mov...
research
09/05/2016

Automatic Library Generation for Modular Polynomial Multiplication

Polynomial multiplication is a key algorithm underlying computer algebra...
research
06/10/2018

Static Quantized Radix-2 FFT/IFFT Processor for Constraints Analysis

This research work focuses on the design of a high-resolution fast Fouri...
research
08/30/2021

MultPIM: Fast Stateful Multiplication for Processing-in-Memory

Processing-in-memory (PIM) seeks to eliminate computation/memory data tr...
research
06/04/2023

Sparse Convolution for Approximate Sparse Instance

Computing the convolution A ⋆ B of two vectors of dimension n is one of ...
research
12/23/2021

Batch Processing and Data Streaming Fourier-based Convolutional Neural Network Accelerator

Decision-making by artificial neural networks with minimal latency is pa...

Please sign up or login with your details

Forgot password? Click here to reset