Skip to content

Building LSMS

Markus Eisenbach edited this page Dec 27, 2021 · 6 revisions

Requirements

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.

Compiling

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
Clone this wiki locally