Getting Started#

Quick Start#

curl -LO https://github.com/tanner-trickle/EXCEED-DM/releases/latest/download/EXCEED-DM.tar.gz
mkdir EXCEED-DM && cd EXCEED-DM
tar -xvzf ../EXCEED-DM.tar.gz
mkdir build && cd build
cmake ..
make

To run EXCEED-DM on N_P processors, with input file INPUT_FILE,

mpirun -np N_P ./build/exdm INPUT_FILE

Download#

EXCEED-DM is hosted on Github and releases are stored in .tar.gz files. This file can be downloaded in a variety of ways,

curl -LO https://github.com/tanner-trickle/EXCEED-DM/releases/latest/download/EXCEED-DM.tar.gz

Specific versions (>=v1.0.0) can be downloaded with,

curl -LO https://github.com/tanner-trickle/EXCEED-DM/releases/download/vX.Y.Z/EXCEED-DM.tar.gz

where X.Y.Z is the version number.

For EXCEED-DM development, the whole Github repository can be cloned with,

git clone https://github.com/tanner-trickle/EXCEED-DM.git ./EXCEED-DM

and will have already extracted the .tar.gz file in to the EXCEED-DM/ folder.

Install#

Before you begin installation, make sure that you have all the necessary pre-requisite software installed. For more information about each pre-requisite, follow the links.

Pre-requisites#

  • Fortran compiler - gfortran, ifort, etc.

    sudo apt install gfortran
    

Libraries

  • OpenMPI

    sudo apt install libopenmpi-dev
    
  • FFTW3

    sudo apt install libfftw3-dev
    
  • HDF5 (serial, with Fortran support)

    sudo apt install libhdf5-serial-dev
    

    Note

    The HDF5 library must have been installed with the same compiler that you are compiling EXCEED-DM with. If this is not the case try building HDF5 from source.

  • LAPACK

    sudo apt install liblapack-dev
    
  • BLAS

    sudo apt install libblas-dev
    
  • CMake

    sudo apt install cmake
    

Build#

After the pre-requisite sofware has been installed, the EXCEED-DM.tar.gz file needs to be extracted, and placed in a folder of your choosing.

Note

You can skip this step if you cloned the Github repository in the Download section.

mkdir EXCEED-DM && cd EXCEED-DM
tar -xzvf <path to EXCEED-DM.tar.gz>

With all of the code extracted, EXCEED-DM just has to be compiled. Starting in your EXCEED-DM folder simply create a build folder and let CMake/make do the rest.

mkdir build && cd build
cmake ..
make

To delete the build simply delete the contents of the build folder,

rm -r build/*

Build Options#

Build options are specified with flags when running the cmake command, e.g.,

cmake .. -DCMAKE_BUILD_TYPE=DEBUG

The currently configured flags are:

  • -DCMAKE_BUILD_TYPE
    • RELEASE - All optimizations turned on.

    • DEBUG - No optimizations, maximize the number of errors caught at runtime.

although any CMake flag can be used. For example, the Fortran compiler can be specified with

cmake .. -DCMAKE_Fortran_COMPILER=...

Test#

To check that EXCEED-DM was installed correctly, from the EXCEED-DM folder run

./build/exdm

The output should read something like

--------------------------------------------------------------------------------

    EXCEED-DM - v1.0.0

    Running on 1 processors
    Compiled with GCC version 11.1.0

    Started at 16:52:19.532 7/26/2022

--------------------------------------------------------------------------------

No input file specified, aborting.

If this is working move on to the Examples section!