This repository was archived by the owner on May 30, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Installation
Ben Baker edited this page Dec 18, 2017
·
11 revisions
After the dependencies have been obtained ParMT can be configured with a script like
#!/bin/sh
cmake ./ \
-DCMAKE_BUILD_TYPE=DEBUG \
-DMPI_C_INCLUDE_PATH=/path/to/mpi/include \
-DMPI_C_LIBRARIES=/pathto/mpi/lib/libmpi.so \
-DPARMT_USE_INTEL=TRUE \
-DMKL_LIBRARY="/path/to/mkl/lib/intel64_lin/libmkl_intel_lp64.a;/path/to/mkl/lib/intel64_lin/libmkl_core.a;/path/to/mkl/lib/intel64_lin/libmkl_sequential.a" \
-DIPP_LIBRARY="/path/to/ipp/lib/intel64_lin/libipps.so;/path/to/ipp/lib/intel64_lin/libippvm.so;/path/to/ipp/lib/intel64_lin/libippcore.so" \
-DCMAKE_C_FLAGS="-g3 -O2 -Wall -fopenmp -std=gnu11" \
-DCMAKE_CXX_FLAGS="-g3 -O2 -Wall -fopenmp" \
-DCOMPEARTH_INCLUDE_DIR=/path/to/compearth/include \
-DCOMPEARTH_LIBRARY=/path/to/compearth/lib/libcompearth_shared.so \
-DIPP_INCLUDE_DIR=/path/to/ipp/include \
-DMKL_INCLUDE_DIR=/path/to/mkl/include \
-DISCL_LIBRARY=/path/to/libiscl/lib/libiscl_shared.so \
-DISCL_INCLUDE_DIR=/path/to/libiscl/include \
-DISPL_LIBRARY=/path/to/ispl/lib/libispl_shared.so \
-DISPL_INCLUDE_DIR=/path/to/ispl/include \
-DCPS_LIBRARY=/path/to/libcps/lib/libcps_shared.so \
-DCPS_INCLUDE_DIR=/path/to/libcps/include \
-DTTIMES_LIBRARY=/path/to/libttimes/lib/libttimes_shared.so \
-DTTIMES_INCLUDE_DIR=/path/to/libttimes/include \
-DSACIO_INCLUDE_DIR=/path/to/sacio/include \
-DSACIO_LIBRARY=/path/to/sacio/lib/libsacio_shared.so \
-DH5_C_INCLUDE_DIR=/path/to/hdf5/include \
-DH5_LIBRARY=/path/to/hdf5/lib/libhdf5.so \
-DINIPARSER_INCLUDE_DIR=/path/to/iniparser/src \
-DINIPARSER_LIBRARY=/path/to/libiniparser.so.1
For performance reasons it may be advantageous to use a commercial compiler. For example, the software can be configured using the Intel Compiler suite by modifying the following script
#!/bin/sh
export CC=icc
export CXX=icpc
cmake ./ -DCMAKE_BUILD_TYPE=DEBUG \
-DCMAKE_INSTALL_PREFIX=./ \
-DCMAKE_C_COMPILER=icc \
-DCMAKE_CXX_COMPILER=icpc \
-DMPI_C_INCLUDE_PATH=/path/to/mpi/include \
-DMPI_C_LIBRARIES=/path/to/mpi/lib/libmpi.so \
-DCMAKE_C_FLAGS="-g3 -O2 -qopenmp -Wall -Wextra -Wcomment -Wcheck" \
-DCMAKE_CXX_FLAGS="-g3 -O2 -Wall -qopenmp" \
-DPARMT_USE_INTEL=TRUE \
-DCOMPEARTH_USE_ISCL=TRUE \
-DMKL_LIBRARY="/path/to/mkl/lib/intel64_lin/libmkl_intel_lp64.so;/path/to/mkl/lib/intel64_lin/libmkl_core.so;/path/to/mkl/lib/intel64_lin/libmkl_sequential.so" \
-DIPP_LIBRARY="/path/to/ipp/lib/intel64_lin/libipps.so;/path/to/ipp/lib/intel64_lin/libippvm.so;/path/to/ipp/lib/intel64_lin/libippcore.so" \
-DCOMPEARTH_INCLUDE_DIR=/path/to/compearth/include \
-DCOMPEARTH_LIBRARY=/path/to/compearth/lib/libcompearth_shared.so \
-DIPP_INCLUDE_DIR=/path/to/ipp/include \
-DMKL_INCLUDE_DIR=/path/to/mkl/include \
-DISCL_LIBRARY=/path/to/libiscl/lib/libiscl_shared.so \
-DISCL_INCLUDE_DIR=/path/to/libiscl/include \
-DISPL_LIBRARY=/path/to/ispl/lib/libispl_shared.so \
-DISPL_INCLUDE_DIR=/path/to/ispl/include \
-DCPS_LIBRARY=/path/to/libcps/lib/libcps_shared.so \
-DCPS_INCLUDE_DIR=/path/to/libcps/include \
-DTTIMES_LIBRARY=/path/to/libttimes/lib/libttimes_shared.so \
-DTTIMES_INCLUDE_DIR=/path/to/libttimes/include \
-DSACIO_INCLUDE_DIR=/path/to/sacio/include \
-DSACIO_LIBRARY=/path/to/sacio/lib/libsacio_shared.so \
-DH5_C_INCLUDE_DIR=/path/to/hdf5/include \
-DH5_LIBRARY=/path/to/hdf5/lib/libhdf5.so \
-DINIPARSER_INCLUDE_DIR=/path/to/iniparser/src \
-DINIPARSER_LIBRARY=/path/to/libiniparser.so.1
After successfully configuring the software it can be built by typing
make
in the root source directory. It can be installed by then typing
make install
If Doxygen is available then the developer level documentation can be generated by typing
doxygen Doxyfile
in the root source directory. The resulting files can be viewed with a web-browser.