Installing Third Party Vendors - lanl/Draco GitHub Wiki
Up: [Home]] ](/lanl/Draco/wiki/Previous:-[[Quick-Start-Guide|Development---Quick-Start) | Next: Style Guide
Third Party Vendors
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.
Required Tools
- 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
Optional, but strongly recommended
- 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
Optional Tools
- LAPACK/BLAS
- Metis
- ParMetis
- SuperLU_DIST
- EOSPAC
- XMGRACE
- CUDA
- LLVM clang-format 6.0
- Bullseye Coverage
- CLOC
- PAPI
Installing Vendor Tools (Linux)
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.
Using spack
- 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 openmpispack load parmetis
- Please review the full spack documentation for special cases or more thorough integration with your machine's installations.
Installing Vendor Tools (Windows)
- 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]] ](/lanl/Draco/wiki/Previous:-[[Quick-Start-Guide|Development---Quick-Start) | Next: Style Guide