• DocumentCode
    1217971
  • Title

    Parallel VSIPL++: An Open Standard Software Library for High-Performance Parallel Signal Processing

  • Author

    Lebak, James ; Kepner, Jeremy ; Hoffmann, Henry ; Rutledge, Edward

  • Author_Institution
    MIT Lincoln Lab., Lexington, MA, USA
  • Volume
    93
  • Issue
    2
  • fYear
    2005
  • Firstpage
    313
  • Lastpage
    330
  • Abstract
    Real-time signal processing consumes the majority of the world´s computing power. Increasingly, programmable parallel processors are used to address a wide variety of signal processing applications (e.g., scientific, video, wireless, medical, communication, encoding, radar, sonar, and imaging). In programmable systems, the major challenge is no longer hardware but software. Specifically, the key technical hurdle lies in allowing the user to write programs at high level, while still achieving performance and preserving the portability of the code across parallel computing hardware platforms. The Parallel Vector, Signal, and Image Processing Library (Parallel VSIPL++) addresses this hurdle by providing high-level C++ array constructs, a simple mechanism for mapping data and functions onto parallel hardware, and a community-defined portable interface. This paper presents an overview of the Parallel VSIPL++ standard as well as a deeper description of the technical foundations and expected performance of the library. Parallel VSIPL++ supports adaptive optimization at many levels. The C++ arrays are designed to support automatic hardware specialization by the compiler. The computation objects (e.g., fast Fourier transforms) are built with explicit setup and run stages to allow for runtime optimization. Parallel arrays and functions in Parallel VSIPL++ also support explicit setup and run stages, which are used to accelerate communication operations. The parallel mapping mechanism provides an external interface that allows optimal mappings to be generated offline and read into the system at runtime. Finally, the standard has been developed in collaboration with high performance embedded computing vendors and is compatible with their proprietary approaches to achieving performance.
  • Keywords
    C++ language; parallel programming; signal processing; software libraries; Parallel VSIPL++; adaptive optimization; automatic hardware specialization; communication operations; compiler; high performance embedded computing vendors; high performance parallel signal processing; parallel mapping mechanism; runtime optimization; standard software library; Application software; Biomedical imaging; Hardware; Image coding; Radar signal processing; Signal processing; Software libraries; Software standards; Video signal processing; Wireless communication; Embedded computing; object-oriented software; parallel processing; self-optimization; signal processing; standard;
  • fLanguage
    English
  • Journal_Title
    Proceedings of the IEEE
  • Publisher
    ieee
  • ISSN
    0018-9219
  • Type

    jour

  • DOI
    10.1109/JPROC.2004.840303
  • Filename
    1386654