FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine. David A. Bader, Virat Agarwal

Similar documents
Parallel Computing 35 (2009) Contents lists available at ScienceDirect. Parallel Computing. journal homepage:

The Pennsylvania State University. The Graduate School. College of Engineering PFFTC: AN IMPROVED FAST FOURIER TRANSFORM

Cell Processor and Playstation 3

FFT Program Generation for the Cell BE

Roadrunner. By Diana Lleva Julissa Campos Justina Tandar

Parallel Exact Inference on the Cell Broadband Engine Processor

Scheduling FFT Computation on SMP and Multicore Systems Ayaz Ali, Lennart Johnsson & Jaspal Subhlok

An Adaptive Framework for Scientific Software Libraries. Ayaz Ali Lennart Johnsson Dept of Computer Science University of Houston

The University of Texas at Austin

( ZIH ) Center for Information Services and High Performance Computing. Event Tracing and Visualization for Cell Broadband Engine Systems

COSC 6385 Computer Architecture - Data Level Parallelism (III) The Intel Larrabee, Intel Xeon Phi and IBM Cell processors

IBM Cell Processor. Gilbert Hendry Mark Kretschmann

Evaluating the Portability of UPC to the Cell Broadband Engine

Towards Efficient Video Compression Using Scalable Vector Graphics on the Cell Broadband Engine

High Performance Computing. University questions with solution

Optimizing JPEG2000 Still Image Encoding on the Cell Broadband Engine

Neil Costigan School of Computing, Dublin City University PhD student / 2 nd year of research.

CellSs Making it easier to program the Cell Broadband Engine processor

Multi - FFT Vectorization for the Cell Multicore Processor

high performance medical reconstruction using stream programming paradigms

Acceleration of Correlation Matrix on Heterogeneous Multi-Core CELL-BE Platform

Crypto On the Playstation 3

ENT 315 Medical Signal Processing CHAPTER 3 FAST FOURIER TRANSFORM. Dr. Lim Chee Chin

Blue-Steel Ray Tracer

A Transport Kernel on the Cell Broadband Engine

Cellular Planets: Optimizing Planetary Simulations for the Cell Processor

High-Performance Modular Multiplication on the Cell Broadband Engine

HIGHLY PARALLEL MULTI-DIMENSIONAL FAST FOURIER TRANSFORM ON FINE- AND COARSE-GRAINED MANY-CORE APPROACHES

TOPICS PIPELINE IMPLEMENTATIONS OF THE FAST FOURIER TRANSFORM (FFT) DISCRETE FOURIER TRANSFORM (DFT) INVERSE DFT (IDFT) Consulted work:

Technology Trends Presentation For Power Symposium

Programming for Performance on the Cell BE processor & Experiences at SSSU. Sri Sathya Sai University

High performance 2D Discrete Fourier Transform on Heterogeneous Platforms. Shrenik Lad, IIIT Hyderabad Advisor : Dr. Kishore Kothapalli

Optimizing DMA Data Transfers for Embedded Multi-Cores

Optimizing Data Sharing and Address Translation for the Cell BE Heterogeneous CMP

INSTITUTO SUPERIOR TÉCNICO. Architectures for Embedded Computing

Spring 2011 Prof. Hyesoon Kim

ELEC 427 Final Project Area-Efficient FFT on FPGA

Memory Architectures. Week 2, Lecture 1. Copyright 2009 by W. Feng. Based on material from Matthew Sottile.

A Brief View of the Cell Broadband Engine

Parallel Computing: Parallel Architectures Jin, Hai

Computer Generation of Fast Fourier Transforms for the Cell Broadband Engine

Optimization of FEM solver for heterogeneous multicore processor Cell. Noriyuki Kushida 1

Using Graphics Chips for General Purpose Computation

Implementation and evaluation of 3D FFT parallel algorithms based on software component model

Iuliana Bacivarov, Wolfgang Haid, Kai Huang, Lars Schor, and Lothar Thiele

Software Development Kit for Multicore Acceleration Version 3.0

Computer Systems Architecture I. CSE 560M Lecture 19 Prof. Patrick Crowley

Energy Optimizations for FPGA-based 2-D FFT Architecture

CellSort: High Performance Sorting on the Cell Processor

Accelerating the Implicit Integration of Stiff Chemical Systems with Emerging Multi-core Technologies

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 18 Multicore Computers

ILP concepts (2.1) Basic compiler techniques (2.2) Reducing branch costs with prediction (2.3) Dynamic scheduling (2.4 and 2.5)

Decimation-in-Frequency (DIF) Radix-2 FFT *

Introduction to CELL B.E. and GPU Programming. Agenda

A Multiprocessor system generally means that more than one instruction stream is being executed in parallel.

Compilation for Heterogeneous Platforms

Parallel FFT Program Optimizations on Heterogeneous Computers

Cell Programming Tips & Techniques

Parallelism in Spiral

SPIRAL Generated Modular FFTs *

Advanced Computing Research Laboratory. Adaptive Scientific Software Libraries

Parallel and Distributed Computing

Algorithms and Computation in Signal Processing

Cell Broadband Engine. Spencer Dennis Nicholas Barlow

Bandwidth Avoiding Stencil Computations

Sorting On A Cell Broadband Engine SPU

CS425 Computer Systems Architecture

Multiprocessor Cache Coherence. Chapter 5. Memory System is Coherent If... From ILP to TLP. Enforcing Cache Coherence. Multiprocessor Types

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING UNIT-1

The Pennsylvania State University. The Graduate School. College of Engineering A NEURAL NETWORK BASED CLASSIFIER ON THE CELL BROADBAND ENGINE

Introduction to HPC. Lecture 21

Main Points of the Computer Organization and System Software Module

Parallel Lattice Boltzmann Flow Simulation on Emerging Multi-core Platforms

Chapter 7. Microarchitecture. Copyright 2013 Elsevier Inc. All rights reserved.

MULTIPLIERLESS HIGH PERFORMANCE FFT COMPUTATION

How much energy can you save with a multicore computer for web applications?

Production. Visual Effects. Fluids, RBD, Cloth. 2. Dynamics Simulation. 4. Compositing

Cell SDK and Best Practices

Sony/Toshiba/IBM (STI) CELL Processor. Scientific Computing for Engineers: Spring 2008

Cell Broadband Engine Architecture. Version 1.0

Scalable Heterogeneous Parallelism for Atmospheric Modeling and Simulation

Fast Computation of Local Correlation Coefficients

Computer Engineering Mekelweg 4, 2628 CD Delft The Netherlands MSc THESIS

Adaptive Scientific Software Libraries

QDP++/Chroma on IBM PowerXCell 8i Processor

Copyright. Thomas Higdon

Modeling Multigrain Parallelism on Heterogeneous Multi-core Processors

Multiprocessing and Scalability. A.R. Hurson Computer Science and Engineering The Pennsylvania State University

Affordable and power efficient computing for high energy physics: CPU and FFT benchmarks of ARM processors

Exploiting the Performance of 32 bit Floating Point Arithmetic in Obtaining 64 bit Accuracy

Portable Parallel Programming for Multicore Computing

Lecture: Transactional Memory. Topics: TM implementations

Porting Financial Market Applications to the Cell Broadband Engine Architecture

Porting an MPEG-2 Decoder to the Cell Architecture

Arquitecturas y Modelos de. Multicore

Amir Khorsandi Spring 2012

How to Write Fast Code , spring th Lecture, Mar. 31 st

Applications on emerging paradigms in parallel computing

Cache-Efficient Numerical Algorithms using Graphics Hardware

Cell Broadband Engine Architecture. Version 1.02

Transcription:

FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine David A. Bader, Virat Agarwal

Cell System Features Heterogeneous multi-core system architecture Power Processor Element for control tasks Synergistic Processor Elements for dataintensive processing Synergistic Processor Element (SPE) consists of Synergistic Processor Unit (SPU) Synergistic Memory Flow Control (MFC) Data movement & synchronization Interface to high-performance Element Interconnect Bus Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 2

Fast Fourier Transform FFTs are used in: - Data Compression, Seismic Imaging, Fluid Dynamics, Image Processing, etc. Medium Size FFTs - Complex single-precision 1D FFT. - Input samples and output results reside in main memory. - Radix 2, 3 and 5. - Optimized for 1K-16K points. Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 3

Existing FFT Research on Cell/B.E. [Williams et al., 2006], analyzed peak performance. [Cico, Cooper and Greene, 2006] estimated 22.1 GFlops/s for an 8K complex 1D FFT that resides in the Local Store of one SPE. 8 independent FFTs in local store of 8 SPEs gives 176.8 GFlops/s. [Chow, Fossum and Brokenshire, 2005] achieved 46.8 GFlops/s for 16M complex FFT. Highly specialized for this particular input size. FFTW is a highly portable FFT library of various types, precision and input size. Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 4

Our FFTC is based on Cooley Tukey Out of Place 1D FFT requires two arrays A & B for computation at each stage Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 5

Illustration of the Algorithm Butterflies of the ordered DIF (Discrete in Frequency) FFT Algorithm. Does not require bit reveral at the end of all stages. Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 6

FFTC design on Cell/B.E. Synchronize step after every stage leads to significant overhead Load balancing to achieve better SPU utilization Vectorization difficult for every stage Limited local store - require space for twiddle factors and input data. - loop unrolling and duplication increases size of the code. Algorithm is branchy: - Doubly nested for loop within the outer while loop - Lack of branch predictor compromises performance. Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 7

Paralleling FFTC Number of chunks := 2*p p: Number of SPEs Chunk i and i+p are allocated to SPE i. Each chunk is fetched using DMA get with multibuffering. Achieves load balancing. Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 8

Tree Synchronization Synchronization after every stage using Inter-SPE DMA communication - Achieved in (2*logn) stages. Each synchronization stage takes 1 microsec - In comparison to PPU coordinated sync. that takes 20 microsec. Minimizes sync. overhead Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 9

Optimization for SPE Loop duplication for Stages 1 & 2 - For vectorization of these stages we need to use spu_shuffle on output vector. Loop duplication for NP<buffersize and otherwise. - Need to stall for DMA get at different places within the loop. Code size increases which limits the size of FFT that can be computed. Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 10

Pseudo Code for the Algorithm on Cell Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 11

Experimental Setup Manual Loop unrolling, multi-buffering, inter SPE communication, odd-even pipelining, vectorization. Instruction level profiling and performance analysis using Cell SDK 2.1 FLOP analysis Operation Count : (5*N log N) floating point operations For 2 complex value computations we require - One complex subtraction (2 FLOP), One complex addition (2 FLOP) and one complex multiplication (6 FLOP). Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 12

Performance analysis : Scaling across SPEs FFT Size 1K Number of SPEs vs Running Time FFT Size 4K Number of SPEs vs Running Time 20 8 80 8 18 Running Time (microseconds) 16 14 12 10 8 6 4 2 6 4 2 Performance Improvement Running Time (microseconds) 60 40 20 6 4 2 Performance Improvement 0 1 2 4 8 0 0 1 2 4 8 0 Number of SPEs Number of SPEs Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 13

Performance Comparison of FFTs 25 IBM Power5 AMD Opteron Intel Pentium 4 FFTW on Cell Our implementation (8 SPEs) Intel Core Duo 20 FFTC GigaFlop/s 15 10 5 0 1024 2048 4096 8192 16384 Input size * Performance numbers from BenchFFT. Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 14

Conclusions FFTC is our high performance design of an FFT for a single 1-Dimensional DIF FFT. Use various optimization techniques such as Manual Loop unrolling, multi-buffering, inter SPE communication, odd-even pipelining, vectorization. Demonstrate superior performance of 18.6 GigaFlop/s for an FFT of size 8k-16K. Code available at http://sourceforge.net/projects/cellbuzz/ Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 15

Acknowledgment of Support National Science Foundation CSR: A Framework for Optimizing Scientific Applications (06-14915) CAREER: High-Performance Algorithms for Scientific Applications (06-11589; 00-93039) ITR: Building the Tree of Life -- A National Resource for Phyloinformatics and Computational Phylogenetics (EF/BIO 03-31654) DBI: Acquisition of a High Performance Shared-Memory Computer for Computational Science and Engineering (04-20513). IBM Shared University Research (SUR) Grant Sony-Toshiba-IBM (STI) Microsoft Research Sun Academic Excellence Grant Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 16

Thank you Questions? Virat Agarwal, FFTC: Fastest Fourier Transform on the IBM Cell Broadband Engine 17