FPGAs and HPC
A study conducted to determine how suitable Field Programmable Gate Arrays (FPGAs), which are well suited for applications involving bit manipulations performed on a continuous stream of data, are for for use in high performance computing (HPC) applications.
FPGAs are devices programmed using languages and methodologies originally developed for describing the circuit layouts used in today’s integrated circuits. As such, they are well suited for applications involving bit manipulations performed on a continuous stream of data. However, their general applicability to HPC applications is open to debate.
An FPGA is a chip designed to emulate a user-specified integrated circuit. As such, FPGAs can be very useful in prototyping efforts. More recently, they have been incorporated into add-on boards which frequently consist of the following:
One or more FPGAs
A small to moderate amount of fast memory (static random access memory [SRAM])
Optionally a larger amount of dedicated onboard memory (dynamic random access memory [DRAM])
An interface for connecting the board to the system that will be hosting it. At the time this research was conducted, that was based on either the peripheral component interconnect (PCI) or the peripheral component interconnect extended (PCI-X) standards
During the period when this research was conducted, Xilinx and Altera were the major manufacturers of the FPGAs. Many of their products included additional features such as the following:
A small amount of on chip fast memory
A complete embedded PowerPC processor
Specialized circuitry such as analog-to-digital converters
Digital signal processor (DSP) slices, from which entire DSPs and other types of computational units could be efficiently constructed.
At the time this research was conducted, there were many uses for FPGAs and most of them had nothing to do with high-performance computing (HPC). Examples of non-HPC applications for FPGAs include the following:
Replacing application specific integrated circuits (ASICs) in a design in an attempt to reduce the time to market.
Replacing ASICs in a low volume product in an attempt to save money (ASICs are cheaper, but only when ordered in quantity).
Temporarily replacing ASICs (or possibly even the processor itself) during the design phase of a project. This makes it easier to test out the merits of alternative designs before committing to one.
Accelerating applications that are primarily composed of a large number of bit manipulations, including signal and image processing and cryptography, which can all be HPC applications under the correct circumstances.
Simulating networks, which would otherwise be an HPC application.
Simulating ASICs prior to their production.
It was determined that FPGAs may be applied to HPC applications in the following distinct ways:
The acceleration of bit manipulations (as just mentioned)
Integer calculations
Fixed-point (i.e. decimal) calculations
Floating-point calculations using dedicated adders, multipliers, and/or fused multiply-add units. These may be formed entirely from reconfigurable cells, or they may be formed from DSP slice technology combined with glue logic created out of reconfigurable cells.
Floating-point calculations using soft implementations of embedded microprocessors.
This work was done by Daniel M. Pressel for the Army Research Laboratory. For more information, download the Technical Support Package (free white paper) below. ARL-0245
This Brief includes a Technical Support Package (TSP).
FPGAs and HPC
(reference ARL-0245) is currently available for download from the TSP library.
Don't have an account? Sign up here.
Top Stories
INSIDERManned Systems
Turkey's KAAN Combat Aircraft Completes First Flight - Mobility Engineering...
INSIDERMaterials
FAA Expands Boeing 737 Investigation to Manufacturing and Production Lines -...
INSIDERImaging
New Video Card Enables Supersonic Vision System for NASA's X-59 Demonstrator -...
INSIDERManned Systems
Stratolaunch Approaches Hypersonic Speed in First Powered TA-1 Test Flight -...
INSIDERUnmanned Systems
Army Ends Future Attack and Reconnaissance Helicopter Development Program -...
ArticlesEnergy
Can Solid-State Batteries Commercialize by 2030? - Mobility Engineering...
Webcasts
AR/AI
From Data to Decision: How AI Enhances Warfighter Readiness
Energy
April Battery & Electrification Summit
Manufacturing & Prototyping
Tech Update: 3D Printing for Transportation in 2024
Test & Measurement
Building an Automotive EMC Test Plan
Manufacturing & Prototyping
The Moon and Beyond from a Thermal Perspective
Software
Mastering Software Complexity in Automotive: Is Release Possible...