Pulse Compression Made Easy With VSIPL++

Abstract

The recent introduction of several template based strategies suggests that C++ may soon become a suitable choice for technical and scientific computing applications. For certain cases, (e.g., matrix multiplications) inline function calls and template code outperforms straight C code. These similar technologies all share a common set of effective strategies that may be summarized as follows: 1) Avoid excessive temporary copies of objects; 2) Make shallow copies instead of deep cloning; 3) Pass data by constant reference instead of by value; 4) Use compile time or static polymorphism, such as templates; 5) Deferred evaluation; 6) Template metaprogramming strategies; 7) Inline function calls; 8) Loop fusion and loop unrolling. The authors acquired PETE, the Portable Expression Template Engine, and compiled several examples for the Mercury MCOE 6.0 platform using a 171MHz SPARC machine. The authors also studied the tradeoffs between runtime performance and significant compile time penalties. Verari's advanced VSIPL package design and prototype implementation strategy is not unlike the architecture of the VSIPL++ reference implementation, which is built as a C++ layer on top of a C VSIPL library. That particular configuration readily appeals to all current vendors of VSIPL compliant middleware who would like to quickly enter the market with a VSIPL++ offering. This layered software architectural approach enables high performance, portability, high productivity, and low time to market for commercial vendors of VSIPL standard libraries. Future directions include incorporating the following strategies that will facilitate commercialization of the VSIPL++ standard: 1) Generic programming for higher productivity. 2) Expression manipulation, as well as 3) Deferred evaluation for higher performance.

Open PDF

Document Details

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

Entities

People

  • Anthony Skjellum
  • Brian Chase
  • Dave Leimbach
  • Rick Pancoast
  • Wenhao Wu

Tags

Communities of Interest

  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Abstracts
  • Case Studies
  • Compression
  • Computer Programming
  • Digital Signal Processing
  • Electronic Mail
  • Frequency
  • Frequency Domain
  • Information Operations
  • Language
  • Metaprogramming
  • Programming Languages
  • Prototypes
  • Pulse Compression
  • Signal Processing
  • Standards
  • Test And Evaluation

Fields of Study

  • Computer science

Readers

  • Economics
  • Parallel and Distributed Computing.
  • Software Engineering.