-
Notifications
You must be signed in to change notification settings - Fork 3
How to compile PUMGen
To compile PUMGen, you need the following libraries:
http://www.hdfgroup.org/HDF5/release/obtainsrc.html
CC=mpicc ./configure --enable-parallel --prefix=/path/to/hdf5
make
make install
http://www.unidata.ucar.edu/downloads/netcdf/index.jsp (NetCDF-C Releases)
CPPFLAGS=-I/path/to/hdf5/include CC=mpicc LDFLAGS=-L/path/to/hdf5/lib LIBS=-ldl ./configure --disable-shared --prefix=/path/to/netcdf
make
make install
http://glaros.dtc.umn.edu/gkhome/metis/metis/download
make config prefix=/path/to/metis
make
http://glaros.dtc.umn.edu/gkhome/metis/parmetis/download
make config prefix=/path/to/parmetis
make
https://github.com/SCOREC/core
mkdir build && cd build
cmake .. \
-DCMAKE_C_COMPILER="`which mpicc`" \
-DCMAKE_CXX_COMPILER="`which mpicxx`" \
-DCMAKE_C_FLAGS="-O2 -g -Wall" \
-DCMAKE_CXX_FLAGS="-O2 -g -Wall" \
-DCMAKE_INSTALL_PREFIX="/path/to/pumi"
make
make install
The Sim Modeling Suite from Simmetrix is optional. To use it, you need a valid Simmetrix license for the Sim Modeling Suite library. If you have the license you should be able to download the library from http://simmetrix.com/support_area/Support.php. The master requires at least version 10.0-161210.
Extract all packages into a single directory and compile MPI wrapper for your MPI version:
cd code/PartitionWrapper
cp Makefile.custom Makefile
# Edit the Makefile and change PQUAL, CC and CXX to match your system
make PARALLEL=mpi
cp lib/libSimPartitionWrapper-*.a ../../lib/x64_rhel6_gcc44/
To combine PUMGen and Simmetrix, you need PUMI with Simmetrix support. If you are using the Simulation Modeling Suite version 10.x, use this PUMI fork. Configure PUMI with the following flags:
cmake .. \
-DCMAKE_C_COMPILER="mpicc" \
-DCMAKE_CXX_COMPILER="mpicxx" \
-DCMAKE_C_FLAGS="-O2 -g -Wall" \
-DCMAKE_CXX_FLAGS="-O2 -g -Wall" \
-DENABLE_SIMMETRIX=ON \
-DSIM_MPI="<mpi-name>" \
-DSIMMETRIX_LIB_DIR="/path/to/simmetrix/lib/x64_rhel6_gcc44" \
-DSIMMETRIX_INCLUDE_DIR="/path/to/simmetrix/include" \
-DCMAKE_INSTALL_PREFIX="/path/to/pumi"
Where <mpi-name>
is the name us set PQUAL
to in the Simmetrix Makefile.
git clone --recursive https://github.com/TUM-I5/PUML.git
git checkout seissol_converter
git submodule update
Without Simmetrix:
scons parallelization=mpi \
prefixPath=/path/to/hdf5:/path/to/netcdf:/path/to/metis:/path/to/parmetis:/path/to/pumi \
cc=mpicc cxx=mpicxx
With Simmetrix:
scons parallelization=mpi simModSuite=yes mpiLib=<mpi-name> \
prefixPath=/path/to/hdf5:/path/to/netcdf:/path/to/metis:/path/to/pumi:/path/to/parmetis/simmetrix \
cc=mpicc cxx=mpicxx