HavoqGT
Getting Started

Download

You can clone HavoqGT from the Bitbucket repository:

1 $ git clone https://github.com/LLNL/HavoqGT.git

Dependencies

HavoqGT depends on fairly recent versions of Boost. Compiling Boost is not necessary, because only the header-only libraries are used.

1 $ wget http://downloads.sourceforge.net/project/boost/boost/1.56.0/boost_1_56_0.tar.gz
2 $ tar -xzvf boost_1_56_0.tar.gz

A C++11 compiler is also required. GCC 4.7 has been primarily used during development.

A MPI library is also required. On OSX using Macports, MPICH 3.1.3 has been primarily used for development. On Linux, MVAPICH2 1.9 has been primarily used.

Compile

HavoqGT has two main parts to its source code, a library portion and some example executable projects. The library portion lives in "/include/havoqgt" and could be used as a header-only library. The example executables use CMake for its build system, and needs to be configured for your system and Boost library location. Configurations have been saved for a few systems at LLNL, for example on Catalyst do:

1 $ cd havoqgt/build/catalyst.llnl.gov
2 $ sh scripts/do_cmake.sh
3 $ make

An example for a Mac OSX, using Macports for GCC 4.7 and Boost can be found in the littleriver.llnl.gov directory:

1 #!/bin/bash
2 
3 MACPORTS_PATH=/opt/local
4 
5 INSTALL_PREFIX=${PWD}
6 
7 rm CMakeCache.txt
8 cmake ../../ \
9  -DHAVOQGT_BUILD_TEST=FALSE \
10  -DCMAKE_CXX_COMPILER=${MACPORTS_PATH}/bin/g++-mp-4.7 \
11  -DCMAKE_C_COMPILER=${MACPORTS_PATH}/bin/gcc-mp-4.7 \
12  -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
13  -DCMAKE_BUILD_TYPE=Release \
14  -DMPI_C_COMPILER=${MACPORTS_PATH}/bin/mpicc-mpich-gcc47 \
15  -DMPI_CXX_COMPILER=${MACPORTS_PATH}/bin/mpicxx-mpich-gcc47 \
16  -DBOOST_ROOT=${MACPORTS_PATH}/include \
17  -DHAVOQGT_BUILD_TEST="ON" \
18  -DCMAKE_CXX_FLAGS="-std=c++11 -O3" \
19  -DMPIEXEC_PREFLAGS="-hosts;localhost"

The important CMAKE variables to set are:

  • DCMAKE_CXX_COMPILER
  • DCMAKE_BUILD_TYPE
  • DMPI_CXX_COMPILER
  • DBOOST_ROOT

After successfully compiling, proceed to Basic Usage.