High-Performance Linear Algebra Processor using FPGA

Abstract

With recent advances in FPGA (Field Programmable Gate Array) technology it is now feasible to use these devices to build special purpose processors for floating point intensive applications that arise in scientific computing. FPGA provides programmable hardware that can be used to design custom hardware without the high-cost of traditional hardware design. In this talk we discuss two multi-processor designs using FPGA for basic linear algebra computations such as matrix multiplication and LU factorization. The first design is a purely hardware solution for dense matrix computations, and the second design uses a hardware/software solution for sparse matrix computations. The hardware solution uses the regular structure available in dense linear algebra computations to design custom processors with hard-wired communication patterns. The hardware/software solution uses embedded processors with the flexibility to program the irregular communication patterns required by sparse matrix computations. The dense matrix processor utilizes a distributed memory architecture connected in a ring topology, with hardwired control for communication. Each processing element consists of pipelined multiply-accumulate hardware, and local memory to store part of the input and output matrices. Extra buffers are available to provide overlapped communication and computation so that while a computation is being performed the next inputs can be downloaded from the host computer. This allows the FPGA to be used as a hardware accelerator as part of a larger matrix computation using various block algorithms.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 20, 2004
Accession Number
ADA428934

Entities

People

  • C. Nwankpa
  • J. R. Johnson
  • P. Nagvajara

Organizations

  • Drexel University

Tags

Communities of Interest

  • Advanced Electronics

DTIC Thesaurus Topics

  • Abstracts
  • Access Time
  • Algebra
  • Algorithms
  • Computations
  • Computers
  • Economic Analysis
  • Engineering
  • Field Programmable Gate Arrays
  • Floating Point Operations
  • Host Computers
  • Information Operations
  • Instructions
  • Linear Algebra
  • Linear Systems
  • Models
  • Sparse Matrix

Readers

  • Computer Programming and Software Development.
  • Distributed Systems and Data Platform Development
  • Linear Algebra