FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
C++
Email
Print
Reprint

add to:
Del.icio.us
Digg
Google
Furl
Slashdot
Y! MyWeb
Blink
September 05, 2006
Inside the VSIPL++ API

Direct support for parallel applications

(Page 1 of 7)
Mark Mitchell
VSIPL++ is a C++ API for high-performance computing. One unique feature of it is that it includes direct support for parallel applications.
Mark is the founder and Chief Sourcerer of CodeSourcery. He is also the Release Manager for the GNU Compiler Collection.


VSIPL++ is a C++ API specification for high-performance signal- and image-processing applications. You can use VSIPL++ for radar applications, software-defined radios, or similar systems. VSIPL++ programs perform operations (such as signal-processing or linear algebra operations) on vectors, matrices, and tensors.

A unique feature of the VSIPL++ API is that it includes direct support for parallel applications. In this article, I show how you build a simple parallel signal-processing application with just a few lines of code. Even if you are not interested in this specific application area, you will find VSIPL++ interesting as an example of a high-performance API for parallel numerical computing.

The VSIPL++ API was defined by the VSIPL Forum (http://www.vsipl.org), a group of industrial and governmental partners, with sponsorship from the U.S. Department of Defense. The API design goals were "the three Ps"—productivity, performance, and portability. In other words, it should be easy to write programs, the programs should run fast, and it should be possible to move programs from one system to another.

Sourcery VSIPL++ (http://www.codesourcery.com/vsiplplusplus/) is CodeSourcery's optimized implementation of the VSIPL++ API. Sourcery VSIPL++ is available at no charge under the GNU Public License (GPL) and under a traditional software license for a fee. Because VSIPL++ is an open API, other people are free to develop competing implementations of VSIPL++. The examples I present here do not use any special features of Sourcery VSIPL++, and should work with any implementation of the API.

1 Inside the VSIPL++ API | 2 Computation | 3 Implementing in VSIPL++ | 4 Implementing in VSIPL++, Part II | 5 Performance | 6 Parallel Computation | 7 Conclusion Next Page
TOP 5 ARTICLES
No Top Articles.



MICROSITES
FEATURED TOPIC

ADDITIONAL TOPICS

INFO-LINK