ASAGI
1.0
a pArallel Server for Adaptive GeoInformation
|
ASAGI requires at least GCC 4.7 or Intel Compiler 12.1
ASAGI makes use of the RMA (Remote Memory Access) API of the MPI-2 standard to transfer data. An MPI library that supports the new standard is required.
ASAGI uses the NetCDF library (http://www.unidata.ucar.edu/software/netcdf/) to load data files.
The PThreads library is required if ASAGI is compiled with NUMA support. If available it is also used to guaranty thread safety as an alternative to std::mutex
.
ASASGI uses the NUMA library to detect NUMA domains. This library is required if ASAGI should be compiled with NUMA support.
To generate the Makefiles, CMake is used. For CMake it is recommend to keep source and build directory apart:
Several environment variables affect the behavior of CMake. They must be set before running "cmake".
CC
(C compiler), CXX
(C++ compiler) and FC
(Fortran compiler) environment variables. C and Fortran compiler are only required for C and Fortran examples and tests. CMAKE_PREFIX_PATH
is used when searching for the MPI, NetCDF, POSIX Threads and NUMA library. If NetCDF was configured with –prefix=<install_dir>
for example, set CMAKE_PREFIX_PATH=<install_dir>
.Besides the environment variables, you can change the behavior by setting internal CMake variables. They can be configured by adding one ore more -D<variable>=<value>
options when running "cmake". These variables can also be changed later with the following command:
The important variables are listed below. Most of the variables are ASAGI specific and will not work with other CMake projects.
[Release]
[/usr/local/]
[ON]
[OFF]
[ON]
[4]
[ON]
[OFF]
[ON]
[OFF]
[OFF]
[ON]
[OFF]
[OFF]
If you have enabled the tests, you can run them with the following command:
To install ASAGI simply run:
This will install the (static and/or shared) library as well as the header files. If pkg-config was found, this command will also install a pkg-config configuration file for ASAGI in CMAKE_INSTALL_PREFIX/lib/pkgconfig
You can install ASAGI with and without MPI support on your system. The version with MPI will be called asagi
and the version without MPI asagi_nompi
. Use the same include file for both libraries, but if you do not compile your program with MPI, make sure to define ASAGI_NOMPI
before including the ASAGI header: