-
Notifications
You must be signed in to change notification settings - Fork 20
Building LSMS
LSMS requires a Unix like environment (e.g. Linux or MacOS X) with C++ and Fortran compilers and the following libraries:
- BLAS linear algebra library
- LAPACK linear solvers
- MPI message passing library for parallelization
- CUDA optionally for GPU acceleration, the code can be built without it.
- Future: OWL (Oak Ridge Wang-Landau package) for Monte-Carlo simulations.
There are two options for building LSMS: Using CMake
or the provided Makefile
.
Building LSMS using make
with the main Makefile
in the top level directory of the distribution requires manual configuration. This includes a system specific file, architecture.mk
, that describes the specific environment. Examples for this file are provided in architecture
.
To build LSMS using cmake
, it is recommended to create a build directory outside of the source distribution. For the system specific configuration, toolchain files are provided in the toolchain
directory.
CMake build example (with LSMS_DISTRIBUTION
pointing to the LSMS distribution:
mkdir lsms_build
cd lsms_build
cmake -DCMAKE_TOOLCHAIN_FILE=$LSMS_DISTRIBUTION/toolchain/summit-gcc-cuda $LSMS_DISTRIBUTION
make