Installation¶
This section provide guidelines for installing DataTransferKit and its TPLs.
Install third-party libraries¶
The following third party libraries (TPLs) are used by DTK:
| Packages | Dependency | Version |
|---|---|---|
| Boost | Required | 1.61.0 |
| BLAS/LAPACK | Required | N/A |
| MPI | Required | N/A |
| Trilinos | Required | 12.X |
The dependencies of DataTransferKit may be built using Spack package manager. You need to install the following packages:
$ spack install openblas
$ spack install boost
$ spack install mpi
$ spack install trilinos
Once installed, the module files for the packages must be loaded into the environment by doing
$ spack load openblas
$ spack load boost
$ spack load openmpi
$ spack load trilinos
DTK submodules¶
DTK uses submodules for some of its dependencies. There are two ways to
initialize the dependencies. The easiest way is to pass the --recursive
option to the git clone command which will automatically initialize and
update submodulesin the DataTransferKit repository.
An alternative way to initialize submodules is to manually run the following commands:
$ git submodule init
$ git submodule update
The current dependencies are:
ArborX repository (required)
The ArborX repository is a geometric search library used in DTK.
DTKData repository (optional) The DTKData repository contains mesh files used in DTK examples.
Building DTK¶
DTK is configured and built using TriBITS.
Create a do-configure script such as:
EXTRA_ARGS=$@
cmake \
-D CMAKE_BUILD_TYPE=Release \
-D TPL_ENABLE_MPI=ON \
-D TPL_ENABLE_BLAS=ON \
-D TPL_ENABLE_LAPACK=ON \
-D TPL_ENABLE_Boost=ON \
-D Trilinos_ENABLE_EXPLICIT_INSTANTIATION=ON \
-D Tpetra_INST_INT_LONG_LONG=OFF \
-D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \
-D Trilinos_EXTRA_REPOSITORIES="DataTransferKit" \
-D Trilinos_ENABLE_DataTransferKit=ON \
-D DataTransferKit_ENABLE_DBC=ON \
-D DataTransferKit_ENABLE_TESTS=ON \
-D DataTransferKit_ENABLE_EXAMPLES=ON \
$EXTRA_ARGS \
$TRILINOS_DIR
and run it from your build directory:
$ mkdir build && cd build
$ ../do-configure
More install scripts can be found in scripts/.
Note
The above do-configure script may get outdated. You can always refer to
scripts/docker_cmake which is used in the Jenkins CI builds and
therefore is required to be always up-to-date.
Build this documentation¶
Building documentation requires sphinx.
(Re)configure with -D DataTransferKit_ENABLE_ReadTheDocs=ON and run:
$ make docs
Open the index.html in the directory DataTransferKit/docs/html.
Generate Doxygen documentation¶
Configure with -D DataTransferKit_ENABLE_Doxygen=ON and run:
$ make doxygen
Checkout DataTransferKit/docs/doxygen/html/index.html.