A Transformational Approach to High Performance Embedded Computing

Abstract

This paper describes a transformational, high-level language approach to High Performance Embedded Computing on the SRC-6 machine and its MAP reconfigurable hardware. A program is initially written in pure C and compiled by the MAP C Compiler. Then, using feedback from the MAP C compiler, the program is successively transformed manually to achieve better performance. These transformations avoid certain inefficiencies, such as re-reading values from memory, loop slowdown caused by loop carried dependencies, and underutilizing memory bandwidth. We discuss the transformations in the context of the Wavelet Versatility Benchmark and the Gauss-Seidel iterative linear equation solver. FPGAs use a large number of pins to connect to memories. They do not have caches, but they have on-chip block RAM, allowing the programmer to decide what data stays on chip. Also, fine grain operation level parallelism combined with pipelining makes it possible for FPGAs to execute an inner loop body in one clock cycle. These characteristics provide a simple, deterministic performance model, allowing the programmer to work towards a well-defined goal: store hot data structures on chip either in block RAM or in registers, create inner loop bodies that execute in one clock cycle, and use the full memory bandwidth of the machine by loop unrolling.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Sep 30, 2004
Accession Number
ADA433635

Entities

People

  • Jeffrey Hammes
  • Wim Boehm

Organizations

  • Colorado State University

Tags

Communities of Interest

  • Advanced Electronics

DTIC Thesaurus Topics

  • Abstracts
  • Accumulators
  • Bandwidth
  • Case Studies
  • Coding
  • Colorado
  • Compilers
  • Computational Science
  • Computers
  • Copyrights
  • Debugging
  • Image Processing
  • Iterations
  • Language
  • Multiple Access
  • Software-Defined Hardware
  • Wavelet Transforms

Fields of Study

  • Computer science

Readers

  • Artificial Intelligence
  • Distributed Systems and Data Platform Development
  • Integrated Circuit Design and Technology.