VSIPL++: Serial and Parallel Performance

Abstract

The VSIPL (the Vector, Signal, and Image Processing Library) specification defines a portable, C programming language interface to use in linear algebra and signal-processing applications. The VSIPL standard has been implemented by a variety of vendors. VSIPL's portable interface provides developers the ability to write code once and reuse it in multiple environments. At HPEC 2002, the authors presented an overview of VSIPL++, a C++ specification designed to perform the same types of computations as VSIPL. The primary goals for VSIPL++ are improved serial performance relative to VSIPL, support for multi-processor systems, extensibility, and simpler syntax. The serial VSIPL++ specification is virtually complete. By HPEC 2003, they expect to have a successful implementation of the specification. They anticipate that the performance of the VSIPL++ reference implementation will be superior to that of VSIPL for some applications. By HPEC 2003, the reference implementation of VSIPL++ will contain preliminary support for parallel systems. Their presentation will compare the performance of VSIPL++ with VSIPL, and demonstrate the VSIPL++ support for parallel computation. They also will discuss VSIPL++ implementation strategies, including the use of an existing VSIPL implementation, a native C++ implementation using expression templates, and a hybrid approach that allows an implementor to incrementally reimplement portions of VSIPL++ to achieve higher performance. Fourteen briefing charts summarize the presentation.

Open PDF

Document Details

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

Entities

People

  • Jeffrey Oldham
  • Mark Mitchell
  • Nathan Sidwell

Tags

DTIC Thesaurus Topics

  • Abstracts
  • C Programming Language
  • Computations
  • Computer Programming
  • Embedded Systems
  • Fault Tolerance
  • Image Processing
  • Information Operations
  • Language
  • Linear Algebra
  • Parallel Computing
  • Programming Languages
  • Signal Processing
  • Specifications
  • Standards
  • Template Patterns

Readers

  • Parallel and Distributed Computing.
  • Software Engineering.