Installation

Manual Installation

Installing adamantine requires:

  • MPI
  • A compiler that support C++17
  • CMake: 3.15 or later
  • Boost: 1.70.0 or later
  • ArborX: 1.4.1 or later
  • Trilinos: 14.4.0 or later
  • deal.II: 9.5 or later

You need to compile ArborX with MPI support and deal.II with MPI, p4est, ArborX, and Trilinos support. If you want to use Exodus file, you also need Trilinos with SEACAS support. adamantine also optionally supports profiling through Caliper.

An example on how to install all the dependencies can be found in ci/Dockerfile. They can also be installed through spack.

To configure adamantine use:

cmake \
  -DCMAKE_BUILD_TYPE=Release \
  -DDEAL_II_DIR=/path/to/dealii \
  -DBOOST_DIR=/path/to/boost \
/path/to/source/dir

Then simply use make. This will compile adamantine and create an executable in a newly created bin subdirectory. You will find in this subdirectory the executable and an example of input files.

The list of configuration options is:

  • ADAMANTINE_ENABLE_ADIAK=ON/OFF
  • ADAMANTINE_ENABLE_CALIPER=ON/OFF
  • ADAMANTINE_ENABLE_COVERAGE=ON/OFF
  • ADAMANTINE_ENABLE_TESTS=ON/OFF
  • BOOST_DIR=/path/to/boost
  • CMAKE_BUILD_TYPE=Debug/Release
  • CALIPER_DIR=/path/to/caliper (only if you enabled CALIPER)
  • DEAL_II_DIR=/path/to/dealii

Docker

You can pull the Docker image containing the version of adamantine on master using:

docker pull rombur/adamantine:latest

The 1.0 release version is available using:

docker pull rombur/adamantine:1.0

To start an interactive container use:

docker run --rm -it rombur/adamantine:latest bash

or

docker run --rm -it rombur/adamantine:1.0 bash

You will find adamantine in /home/adamantine/bin. More docker run options can be found in the Docker documentation.

There are two methods to move file to/from the Docker container:

  1. Mount a volume using the option -v. You launch the container using:
    docker run --rm -it -v /path/to/computer/folder:/path/to/image/folder rombur/adamantine:1.0 bash
    

    Every file in /path/to/computer/folder (resp. /path/to/image/folder) will be visible in /path/to/image/folder (resp. /path/to/computer/folder). Note that any file created inside the Docker container is created as root not as a regular user.

  2. Use docker cp to copy the files (see here).

The Docker images cannot use GPUs.

NIX

You can use NIX to install the development version and the latest release of adamantine. You need to enable Flakes. To install the vesion on master, use:

nix develop github:adamantine-sim/adamantine

The 1.0 release version is available using:

nix develop github:adamantine-sim/adamantine#release