La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Partagez cette publication

VSIPL Short Tutorial
Anthony Skjellum
MPI Software Technology, Inc.
SC2002
November 17, 2002
© 2001-2002 MPI Software Technology, Inc. Public Release.
Overview
Performance&Portability
Background on the VSIPL Standard
Code Organization
Details and Examples
Some Benchmarks
Cache Considerations
© 2001-2002 MPI Software Technology, Inc. Public Release.
Performance&Portability
© 2001-2002 MPI Software Technology, Inc. Public Release.
Benefits/Facts of Recent APIs
Abstracted application programmer interfaces (APIs) can lead to higher or lower performance Abstracted APIs definitely enhance portability The APIs described here can be implemented to enhance portability and performance of many codes Careful use of these APIs must be made to achieve both portability and high performance Portability always comes at the cost of a little performance
© 2001-2002 MPI Software Technology, Inc. Public Release.
Why Portability is Valuable
Standard APIs allow you to capture customers from other hardware platforms Allow upgrades to a system without rewriting the software Software cost is an important part of overall systems cost Software that uses portable interfaces can evolve over time more efficiently than low-level code designed for one architecture Overall, lower software costs, increase lifetime
© 2001-2002 MPI Software Technology, Inc. Public Release.
What is Performance Portability?
Portability with a requirement for performance Achieved with good programming skills in C or C++, as well as  The right APIs for high performance math  The right APIs for high performance services other than math (e.g., message passing)  Efficient implementations of the APIs  The right training/experience of programmers to use the APIs well Performance portability is realistic and achievable with COTS architectures, such as G4/Altivec
© 2001-2002 MPI Software Technology, Inc. Public Release.
Background On The VSIPL Standard
© 2001-2002 MPI Software Technology, Inc. Public Release.
What is VSIPL? An API specification for the Vector, Signal, Image Processing operations Purpose: To provide a set of portable and high performance libraries for Vector, Signal, and Image Processing applications VSIPL standard 1.0 provides ANSI C bindings that can be implemented on a wide variety of hardware (from embedded systems to workstations) Multiple vendors accept VSIPL as a valid standard Also endorsed by US Department of Defense
© 2001-2002 MPI Software Technology, Inc. Public Release.
Who developed VSIPL Standard?
VSIP Forum - a voluntary organization comprising of representatives from industry, government, developers, and academia VSIPL standard was developed with close coordination with the Navy Tactical Advanced Signal Processor (TASP) program and is part of the TASP Common Operating Environment (TASP COE) Initial support provided by DARPA
© 2001-2002 MPI Software Technology, Inc. Public Release.
VSIPL Implementations
Public domain  TASP VSIPL reference implementation - Randy Judd, US Navy (multiplatform, not optimized) Commercial  CSPI (Core Lite only)  Mercury Computer Systems, Inc. (Core Lite only)  MPI Software Technology, Inc. (multiplatform)  Sky Computers (TASP + G4 optimizations)  Wildstar - Annapolis Micro Systems, Inc. (specialized hardware)  DNA Computing Solutions
© 2001-2002 MPI Software Technology, Inc. Public Release.
VSIPL Features
Portable API Object-based design Opaque objects such as blocks and views on the blocks (vectors, matrices, and tensors) Support for multiple floating-point and integer data types Development and production modes Public and private data arrays Explicit memory/algorithm hints
© 2001-2002 MPI Software Technology, Inc. Public Release.
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin