VSIPL++: Parallel Performance

Abstract

VSIPL++(exp 1) is the object-oriented "next-generation" version of the Vector Signal and Image Processing Library (VSIPL). Like VISPL, VSIPL++ specifies an Application Programming Interface (API) for use in the development of high-performance numerical applications, with a particular focus on embedded real-time systems performing signal processing and image processing. VSIPL++ contains a number of improvements relative to VSIPL including a simpler, more intuitive programming model, simpler syntax, and greater flexibility and extensibility. This parallel support requires only that the user specify the way in which data should be distributed across processors. The VSIPL++ library automatically manages the transmission of data between the processors as necessary to effectively perform the desired computations. CodeSourcery was awarded funding under the Air Force Small Business Investment Research (SBIR) program to develop a prototype version of the parallel functionality described in the VSIPL++ specification and to obtain measurements of VSIPL++ performance when executing on parallel systems. Our prototype implementation achieves a near-linear speedup on multi-processor systems demonstrating that, despite the high level of abstraction present in VSIPL++, it is nevertheless possible to obtain excellent performance. Thus, VSIPL++ has the potential to allow programmers to easily and rapidly develop systems that are both highly portable and highly efficient. In our presentation, we will describe the parallel VSIPL++ programming model, our parallel performance benchmark, and the results we obtained.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 27, 2004
Accession Number
ADA433092

Entities

People

  • Jeffrey D. Oldham
  • Mark Mitchell

Tags

Communities of Interest

  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Application Programming Interface
  • C Programming Language
  • Computations
  • Computer Programming
  • Image Processing
  • Language
  • Models
  • Operating Systems
  • Power Spectra
  • Programming Languages
  • Prototypes
  • Signal Processing
  • Small Business
  • Specifications
  • Spectra
  • Standards

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications