Spml Installation Guide
Operation Environment
Spml library is operated by following environments.
- OS
- Debian GNU/Linux >= ver. 6,
- Red Hat Enterprise Linux >= ver.6
- Fortran Compiler
- GFortran >= ver. 4.7
- with OpenMPI 1.4.5, 1.6.5
- with MPICH2 1.0.7
- Intel ® Compilers
- The Portland Group
- GFortran >= ver. 4.7
Spml library was operated by following environments in the past. Latest version may be operated (unconfirmed).
- NEC SX-6 + FORTRAN90/SX
- NEC SX-8 + FORTRAN90/SX
- NEC SX-8R + FORTRAN90/SX
- NEC SX-9 + FORTRAN90/SX
General outline
Install spml as follows. Refer each items for details.
- Satisfy Software Requirements.
- Build the library following How to build.
- Install the library following How to install.
- Check whether the installed library functions normally following Execute test programs.
- Set PATH.
Software Requirements
The following software needs to use spml
How to build
Extract TGZ Package
Make an empty directory, and extract archive. A directory `spml-version' created at the current working directory.
$ tar xvzf spml_current.tgz
or
$ zcat spml_current.tar.gz | tar -xvf -
Specify Fortran Compiler
Specify Fortran compiler to environment variable FC . For example, if you use "gfortran",
sh, bash
$ FC=gfortran ; export FC
csh, tcsh
$ setenv FC gfortran
Specify Fortran compiler options for optimization and debug to environment variable FCFLAGS . For example, if you set options for automatic optimization and automatic parallelization to Fujitsu Fortran,
sh, bash
$ FCFLAGS="-O3 -fopenmp" ; export FCFLAGS
csh, tcsh
$ setenv FCFLAGS "-O3 -fopenmp"
Execute `configure'
Move created directroy, and excute ` ./configure
'.
You should set necessary library location, netCDF, gtool5, ispack.
If your path of netCDF library is `/usr/local/netcdf/lib/libnetcdf.a',
gtool5 library is `/usr/local/gtool5/lib/libgtool5.a',
ISPACK library is `/usr/local/ispack/lib/libisp.a',
you should set options as follow.
Then a `Makefile' will be created at
the current working directory.
If the netCDF library is a shared library, --with-netcdff=
option may be needed.
See details of options as follows.
$ ./configure --with-netcdf=/usr/local/netcdf/lib/libnetcdf.a \ --with-gtool5=/usr/local/gtool5/lib/libgtool5.a \ --with-ispack=/usr/local/ispack/lib/libisp.a
If spml is built for MPI, see How to build for MPI.
If you want to change directory to which the library and the module, etc.
are installed, please set --help
option as follow. Available
options are showed.
$ ./configure --help
Descriptions about principal options are listed below.
--with-netcdf=
ARG- Specify netCDF library needed for build to ARG. You must specify explicitly.
--with-netcdff=
ARG- If the netCDF library is a shared library, the library may be divided C library from Fortran library. In the case, specify the C library to above option, and specify the Fortran library to ARG in this option.
--with-netcdf-include=
ARG- Set location of netCDF header file for fortran(netcdf.inc), if you need.
--with-gtool5=
ARG- Specify gtool5 library needed for build to ARG. You must specify explicitly.
--with-ispack=
ARG- Specify ispack library needed for build to ARG. You must specify explicitly.
--with-ssl2=
ARG--with-ssl2tp=
ARG--with-lapack=
ARG- Specify library using solve eigenvalue problem to ARG, if you need.
--with-lumatrix=
ARG-
Specify library using solve liner equations to ARG.
Default value is
OMP
. --with-fftw=
ARG--with-rfftw=
ARG- Specify library using FFTW ver.2. You must specify explicitly if you build ispack library with -FFTW2 option.
--with-mpifc=
ARG- Specify MPI Fortran Compiler to ARG if you want to build MPI support.
--with-mpiexec=
ARG- Specify MPI execute program to ARG if you want to execute MPI test.
--prefix=
ARG-
Specify prefix to ARG.
Default value is
/usr/local/spml
. --host=
ARG- When cross-compiling, specify the type of system on which the package will run to ARG.
--libdir=
ARG-
Specify directory to which the library is installed to ARG.
Default value is
/usr/local/spml/lib
. --includedir=
ARG-
Specify directory to which the module is installed to ARG.
Default value is
/usr/local/spml/include
. --bindir=
ARG-
Specify directory to which the executable file is installed to ARG.
Default value is
/usr/local/spml/bin
. --with-docdir=
ARG-
Specify directory to which the documentation file is installed to ARG.
Default value is
/usr/local/spml/doc
. --with-abort=
ARG-
Specify one of
abort, errtra-setrcd, exit, setrcd, stop
to ARG. Default value isabort
.- abort
- Stop by intrinsic subroutine "abort".
- errtra-setrcd
- Stop by Fujitsu Fortran service subroutine "ERRTRA". And outputs error trace back map.
- exit
- Stop by intrinsic subroutine "exit".
- setrcd
- Stop by Fujitsu Fortran service subroutine "SETRCD". And outputs error trace back map.
- stop
- Stop by intrinsic subroutine "stop".
How to build for MPI
If spml is built for MPI, install MPI library to a system, and build gtool5 library with MPI support, see Gtool5 Installation Guide.
When execute "configure", specify a compile commend like as "mpif90" to environment variable FC . And specify "--with-mpifc" and "--with-mpiexec" option of "configure".
$ ./configure --with-netcdf=/usr/local/netcdf/lib/libnetcdf.a \ --with-gtool5=/usr/local/gtool5/lib/libgtool5.a \ --with-ispack=/usr/local/ispack/lib/libisp.a \ --with-mpiexec=/usr/local/mpich/mpiexec \
See Execute `configure' about other options.
Compile source code
When ./configure is executed, Makefile is updated displayed as follows. Execute `make' as follows:
$ make
How to install
In current directory, execute following command. If you install to system, you need to be administrator. (By default, you install to system).
# make install
Execute test programs
In current directry, execute following command.
If message " *** Compilation and installation are succeeded !! ***
"
are showed without error, installation is completed.
$ make test
Set PATH
If the installation is correctly done as stated above,
shell script spmfrt is made under the directory
--prefix=
ARG/bin
(By default, /usr/local/spml/bin/
).
Please specify PATH to this directory.
It is an example as follows when spmfrt is installed in
/usr/local/spml/bin/
.
sh, bash
$ PATH=$PATH:/usr/local/spml/bin ; export PATH
csh, tcsh
$ setenv PATH $PATH:/usr/local/spml/bin
spmfrt is a shell script in order to easily compile and link Fortran programs which utilizes the spml library. Link to the gtool5 library and directory appointment to the modules are done automatically by using spmfrt in place of command of the Fortran compiler.
$ spmfrt test.f90 /usr/bin/gfortran -I/usr/local/spml/include \ -I/usr/local/gtool5/include \ -I/usr/local/netcdf/include \ -O2 -fopenmp test.f90 \ -L/usr/local/spml/lib \ -lspml \ -L/usr/lib/gtool5/lib \ -L/usr/local/netcdf/lib \ -L/usr/local/ispack/lib \ -lgtool5 -lnetcdf -lispack