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:
- 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. - 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