Abstract
This chapter explains how to configure and install Sourcery VSIPL++ from source for use on your system. Installing Sourcery VSIPL++ from source requires three steps:
Ensure that your system can run Sourcery VSIPL++.
Download the Sourcery VSIPL++ source package.
Configure, build, and install Sourcery VSIPL++.
If an appropriate pre-built binary package is available for your architecture, operating system, and compiler, using that is preferrable to building from source. Instructions for this installing pre-built binary packages can be found in Chapter 2, “Installation”.
Table of Contents
Abstract
This section explains what requirements your system must meet in order to run Sourcery VSIPL++.
Sourcery VSIPL++ can be built and installed on any UNIX-like system that has a satisfactory C++ compiler. CodeSourcery's reference GNU/Linux platform is Red Hat Enterprise Linux 4.0. CodeSourcery's reference MCOE platform is 6.3.0.
The following compilers have been tested by CodeSourcery to work with Sourcery VSIPL++ for the noted OS and architecture: OS, architecture, and compiler combinations have been tested by CodeSourcery to work with Sourcery VSIPL++:
GCC 3.4 (IA32 GNU/Linux)
GCC 3.4 (EM64t GNU/Linux)
GCC 4.1 (Cell/B.E. GNU/Linux)
GCC 4.2 (IA32 GNU/Linux)
GCC 4.2 (EM64t GNU/Linux)
Intel C++ 9.1 (IA32 GNU/Linux)
Intel C++ 9.1 (EM64t GNU/Linux)
Intel C++ 9.1 (IA32 Windows)
GreenHills C++ 4.0.6 (PowerPC MCOE 6.3.0)
The following compilers are known not to work at this time with Sourcery VSIPL++:
GCC 3.3
Intel C++ 8.1
Intel C++ 9.0
This section describes software that you must have installed in order to build and install VSIPL++. Although the instructions below refer to obtaining this software in source form, you will be able to find pre-compiled binary distributions for most popular operating systems. Consult your operating system manuals for information about obtaining and installing pre-compiled versions of these packages.
You must use the GNU version of make to build Sourcery VSIPL++. You can download GNU Make as source code from http://ftp.gnu.org/pub/gnu/make. Pre-compiled GNU Make binaries are available for all popular operating systems.
The Sourcery VSIPL++ source code is distributed as a compressed Tape Archive (Tar) file. Due to incompatibilities between various versions of Tar, CodeSourcery strongly recommends that you use GNU Tar to unpack the source code. You can download GNU Tar as source code from http://ftp.gnu.org/pub/gnu/tar. Pre-compiled GNU Tar binaries are available for all popular operating systems.
You can build and use Sourcery VSIPL++ without installing any other software packages. However, if you install the additional packages described in this section, Sourcery VSIPL++ will provide additional functionality and better performance. This section explains what software you might wish to install and how to obtain it. Although some the instructions below refer to obtaining this optional software in source form, you will be able to find pre-compiled binary distributions for most popular operating systems. Consult your operating system manuals for information about obtaining and installing pre-compiled versions of these packages.
Sourcery VSIPL++ can take advantage of high-performance numerical libraries to improve performance. This section describes the supported libraries. In general, Sourcery VSIPL++ will automatically make use of these libraries are they are installed on your system.
Automatically Tuned Linear Algebra Software can be used to accelerate some linear-algebra functions in Sourcery VSIPL++. Sourcery VSIPL++ source packages come with the ATLAS sources. Alternatively, if ATLAS is already installed on your system, Sourcery VSIPL++ can be configured to use it.
Visit http://math-atlas.sourceforge.net for more information about ATLAS.
The Fastest Fourier Transform in the West can be used to accelerate Sourcery VSIPL++ FFT performance. Sourcery VSIPL++ source packages include the FFTW3 sources. Alternatively, if FFTW3 is already installed on your system, Sourcery VSIPL++ can be configured to use it.
Visit http://www.fftw.org for more information about FFTW.
The Intel Performance Primitives and Intel Math Kernel Library can be used by Sourcery VSIPL++ to accelerate some functions, including FFTs. IPP and MKL are proprietary libraries, so you cannot distribute a Sourcery VSIPL++ application using IPP or MKL under the terms of the GPL.
To find out more about IPP and MKL visit
The AMD Core Math Library (ACML) can be used by Sourcery VSIPL++ to accelerate some linear-algebra functions.
Visit http://developer.amd.com/acml.aspx for more information about ACML.
The Mercury Scientific Algorithm Library (SAL) can be used by Sourcery VSIPL++ to accelerate many functions, including elementwise view operations, linear algebra, solvers, and signal processing objects (including FFT). SAL is a proprietary library, so you cannot distribute a Sourcery VSIPL++ application using SAL under the terms of the GPL.
Visit http://www.mc.com/products/software.aspx for more information about SAL.
An implementation of the C VSIPL API can be used by Sourcery VSIPL++ to implement many functions, including linear algebra, solvers, and signal processing objects (such as FFT).
Visit the http://www.vsipl.org/ for more information about the VSIPL API and a list of implementations.
The Cell Math Library (CML) is used by Sourcery VSIPL++ to accelerate performance on Cell processors by offloading many computations to the SPUs. CML is required to build any version of Sourcery VSIPL++ from source. CML is available from CodeSourcery and included in the binary installation packages for the full version of Sourcery VSIPL++.
Contact <sales@codesourcery.com>
for more information about CML.
If you install a communication library such as Mercury PAS (Parallel Acceleration System) or MPI (Message Passing Interface), you can run Sourcery VSIPL++ programs on multiple compute nodes simultaneously. On GNU/Linux platforms, Sourcery VSIPL++ works with both the LAM and MPICH implementations of MPI, and will likely work with other MPI implementations as well. On MCOE platforms, Sourcery VSIPL++ works with both Mercury PAS and Verari MPI/Pro.
Mercury Parallel Acceleration System (PAS) is a library for high-performance communication on Mercury PowerPC embedded computer and Cell blade systems. PAS is a propreitary library, so you cannot distribute a Sourcery VSIPL++ application using PAS under the terms of the GPL.
For more information on PAS, visit http://www.mc.com/products/software.aspx.
The following releases of Mercury PAS have been tested by CodeSourcery to work with Sourcery VSIPL++:
MCOE PAS 4.3.0
PAS for Linux Clusters
You can download LAM/MPI as source code from http://www.lam-mpi.org/.
Recommended configuration options when building LAM/MPI for use with Sourcery VSIPL++:
--without-mpi2cppDo not build MPI/C++ interface. Although Sourcery VSIPL++ does not use this interface, building it may create link-time warnings when using different compiler versions.
The following releases of LAM/MPI have been tested by CodeSourcery to work with Sourcery VSIPL++:
LAM/MPI 7.0.6
LAM/MPI 7.1.1
The RHEL LAM 6.5.9-1 package available for RHEL 3 is not suitable for use with Sourcery VSIPL++. This package does not support compilation with a C++ compiler.
You can download MPICH as source code from http://www-unix.mcs.anl.gov/mpi/mpich/, but pre-built binaries for most popular operating systems are available from the system distributors. If MPICH is not already installed on your system, see the documentation for your operating system for information about obtaining MPICH.
You can download OpenMPI as source code from http://www.open-mpi.org/, but pre-built binaries for most popular operating systems are available from the system distributors. If OpenMPI is not already installed on your system, see the documentation for your operating system for information about obtaining OpenMPI.