- C and Fortran compiler,
- an MPI-1 (Message Passing Interface) library,
- a BLAS (Basic Linear Algebra Subprograms) library,
- the latest SCOTCH 5.xx or METIS 4.0 library :
- Install SCOTCH 5.xx or METIS 4.0.
- Decompress the HIPS archive, go in the HIPS directory
and copy from Makefile_In_Example/ a
makefile.inc corresponding to our architecture on the
root of the HIPS installation directory.
For example; if you are installing HIPS on a Linux system :
tar -xzf hips-*
cp Makefile_Inc_Example/makefile.inc.linux ./makefile.inc
- Edit the file makefile.inc which contains the compilation parameters :
- Comment out one of these lines to compile the complex or the real version of HIPS :
#COEFTYPE = -DTYPE_REAL
#COEFTYPE = -DTYPE_COMPLEX
On some architecture MPI has no complex type. In this case, you can
compile HIPS with
COEFTYPE = -DTYPE_COMPLEX -DWITH_MPI_DOUBLE.
- If you are using METIS leave unchanged the line :
PARTITIONER = -DSCOTCH_PART to use SCOTCH.
You can give the installation path of the partitionner library using
you can directly set the library path (
LSCOTCH) and the include path (
- You can optionnaly define the integer sizes used in HIPS
using the variable
Leave this variable unreferenced to use default C type of your machine.
It is useful if :
- you want to use HIPS in a Fortran code,
- have 32 bits integers by default and encounter overflows (very large problems),
- if your own code or library define specifically integer sizes.
- Set the compiler and linker options specific to your installation :
- Configure compilers and their flags (use for example
FOPTFLAGS to set optimizations flags
LBLAS variable to link to your BLAS library. For example, use :
LBLAS = -lblas
With the Intel Math Kernel Library (MKL), you will need something like :
-L/mkl/10.0.3.020/lib/em64t -lmkl_intel_lp64 \
-lmkl_sequential -lmkl_core -liomp5 -lpthread
If you are using a multithreaded BLAS library (ATLAS, MKL, GotoBLAS,
...), disable this feathure (see manual of your BLAS library).
- If your library path (
LD_LIBRARY_PATH) are not properly set, you
can add directory where are searched the libraries (variables
LBLAS). For example :
LBLAS = -L/path/to/libblas/ -lblas
- The search paths for header files can be controlled throught variables
example, the following line will add
/path/to/mpi/include/ to the include path (to find mpi.h) :
IMPI = -I/path/to/mpi/include/
- Run make all to compile the library and the test programs.
HIPS makefile are designed to compile with the GNU make :
on certain architectures you will have to use gmake instead of make (
MAKE = gmake).