Next: , Previous: Installation on GNU/Linux, Up: Installation on GNU/Linux


2.1.1 Pre-requisitions for Nero2d (GNU/Linux)

Nero2d is designed to be a performant simulator tool. Internally, it depends on a few high-performance libraries which are widely available. As most hardware vendors have their own optimized implementations of these libraries, we strongly recommend using them. It is up to you to find suitable versions which provide you with the maximum performance for your system. The required performance libraries are FFTW, BLAS and LAPACK. In the next sections, these are discussed in detail.

2.1.1.1 FFTW

Nero2d requires the FFTW library, or the Fastest Fourier Transform of the West, version 3.0 or higher. The library is likely to be present on your system already, if not, it can be installed using your package manager. If you use yum to install software (Fedora, Redhat, etc.), you will need to install the fftw, fftw-devel and optionally the fftw-static packages. If you use aptitude to install software (Debian, Ubuntu, etc.), you will need the fftw3 and fftw3-dev packages.

You can also opt to compile FFTW from source: it can be freely downloaded at www.fftw.org. Nero2d requires the installation of the double precision, non-threaded version of FFTW (the default installation). It is recommended to do a global install of FFTW i.e. install FFTW in the standard location (usually /usr/local) so that it is accessible to all users. This will however, require root access to your system. If you do a local installation (somewhere in your home directory) of the FFTW library, Nero2d provides a configuration flag to locate it (see Configure options for Nero2d). For a detailed refernce on the FFTW library, please consult its manual.

2.1.1.2 BLAS and LAPACK

Nero2d also requires the BLAS library, or the Basic Linear Algebra Subprograms, and the LAPACK, or the Linear Algebra PACKage. Most vendors provide optimized libraries for free and you should try to use these in the first place. The configure script can detect a great number of BLAS and LAPACK implementations. If everything fails however, and no BLAS or LAPACK are found on your system, Nero2d can compile the libraries ifself. This can (and most likely will) result in a poor performance.

Some packages install BLAS and/or LAPACK libraries in a non-standard location: Nero2d provides configuration flags to locate them (see Configure options for Nero2d). We specifically support two vendor specific implementations: the ACML from AMD and the MKL from Intel.