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.14 |
Google Benchmark | Required (if examples are enabled) | 1.4 |
Note
DTK is built as an external package of Trilinos. Thus, DTK needs the source of the Trilinos library rather than an installed version.
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 benchmark
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 benchmark
DTKData repository¶
The DTKData repository contains mesh files used in DTK examples. To build the examples and include the mesh files include the git submodule with your cloned repository:
$ git submodule init
$ git submodule update
Another way to achieve this is to pass the --recursive
option to the git
clone
command which will automatically initialize and update DTKData in the
DataTransferKit repository.
You can also download the DTKData repository yourself and then, link it into DTK directory:
$ cd $DTK_DIR
$ ln -s $DTKDATA_DIR DTKData
Building DTK¶
DTK is configured and built using TriBITS. DTK builds within Trilinos effectively as an extension package. First, link DTK into the Trilinos main directory:
$ cd $TRILINOS_DIR
$ ln -s $DTK_DIR DataTransferKit
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
DTK has only been tested with CUDA 8.0. Other versions of CUDA may or may not work.
Note
If DBC is OFF some tests will fail.
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
.