-
Notifications
You must be signed in to change notification settings - Fork 44
Installing Third Party Vendors
Kelly (KT) Thompson edited this page Mar 3, 2019
·
1 revision
Up: Home | Previous: Quick Start Guide | Next: Style Guide
As mentioned on the Quick Start Guide page, Draco assumes that some tools are readily available. If available, Draco will use other tool as optional dependencies.
-
cmake-3.9 or later
- cmake must be in your PATH
- A modern C++ compiler (g++, icpc, pgCC, clang++, cl) that supports C++14.
-
Random123
- export RANDOM123_INC_DIR=/some/path/Random123-1.08/include
-
Gnu Scientific Library
- gsl-config must be in your PATH
- Python 2 or 3
- A modern Fortran compiler (gfortran, ifort)
- MPI (openMPI, mpich) that supports version 3.0 (openmpi 1.10 or later)
- mpirun/mpiexec must be in your PATH
-
numdiff
- numdiff must be in your PATH
- LAPACK/BLAS
- Metis
- ParMetis
- SuperLU_DIST
- EOSPAC
- XMGRACE
- CUDA
- LLVM clang-format 6.0
- Bullseye Coverage
- CLOC
- PAPI
For Linux-like development platforms, the Draco team strongly encourages the use of the spack package manager for installing required and optional tools (with the exception of commercial/licensed software and compilers). Spack provides a robust mechanism for providing most the tools listed above. It also provides module environments to allow developers to quickly load or switch to different suites of tools.
- After downloading and expanding the spack installation, setup only requires a few steps:
export SPACK_ROOT=<spack directory location>
export PATH=$SPACK_ROOT/bin:$PATH
spack compilers
spack compiler list
- Installing packages is easy. Examples:
spack install netlib-lapack % [email protected]
spack install [email protected] % [email protected]
spack install parmetis % [email protected] ^[email protected]
- etc.
- When spack is available in the developer environment, simple module-like commands can be used:
spack load openmpi
spack load parmetis
- Please review the full spack documentation for special cases or more thorough integration with your machine's installations.
- Installing the required vendor tools for Windows platforms (note that CYGWIN/MINGW/WLS setups can use the Linux instructions above) is much more involved. Please review Building on Windows for more details.
Up: Home | Previous: Quick Start Guide | Next: Style Guide