Parallel Programming for FPGAs

05/09/2018
by   Ryan Kastner, et al.
0

This book focuses on the use of algorithmic high-level synthesis (HLS) to build application-specific FPGA systems. Our goal is to give the reader an appreciation of the process of creating an optimized hardware design using HLS. Although the details are, of necessity, different from parallel programming for multicore processors or GPUs, many of the fundamental concepts are similar. For example, designers must understand memory hierarchy and bandwidth, spatial and temporal locality of reference, parallelism, and tradeoffs between computation and storage. This book is a practical guide for anyone interested in building FPGA systems. In a university environment, it is appropriate for advanced undergraduate and graduate courses. At the same time, it is also useful for practicing system designers and embedded programmers. The book assumes the reader has a working knowledge of C/C++ and includes a significant amount of sample code. In addition, we assume familiarity with basic computer architecture concepts (pipelining, speedup, Amdahl's Law, etc.). A knowledge of the RTL-based FPGA design flow is helpful, although not required.

READ FULL TEXT

page 7

page 24

page 25

page 27

page 33

page 35

page 39

page 40

research
08/23/2022

SASA: A Scalable and Automatic Stencil Acceleration Framework for Optimized Hybrid Spatial and Temporal Parallelism on HBM-based FPGAs

Stencil computation is one of the fundamental computing patterns in many...
research
03/21/2022

Automatic Creation of High-Bandwidth Memory Architectures from Domain-Specific Languages: The Case of Computational Fluid Dynamics

Numerical simulations can help solve complex problems. Most of these alg...
research
01/15/2018

Improving Communication Patterns in Polyhedral Process Networks

Embedded system performances are bounded by power consumption. The trend...
research
05/09/2020

Benchmarking High Bandwidth Memory on FPGAs

FPGAs are starting to be enhanced with High Bandwidth Memory (HBM) as a ...
research
11/11/2016

Revisiting FPGA Acceleration of Molecular Dynamics Simulation with Dynamic Data Flow Behavior in High-Level Synthesis

Molecular dynamics (MD) simulation is one of the past decade's most impo...
research
10/18/2020

Optimizing Memory Performance of Xilinx FPGAs under Vitis

Plenty of research efforts have been devoted to FPGA-based acceleration,...

Please sign up or login with your details

Forgot password? Click here to reset