Software prerequisites¶
The following software packages are required for building HALMD. For an automated installation procedure, refer to the next section, Automatic installation. A detailed step-by-step guide for manual installation is given in section Manual installation.
Build environment¶
a C++ compiler with sufficient C++11 support, e.g., GCC ≥ 4.6
HALMD makes extensive use of C++11 features. Instructions for a semi-automated build of GCC are given in Automatic installation.
CMake ≥ 2.8.12
The build process of HALMD depends on CMake, a cross-platform, open-source build system.
NVIDIA CUDA toolkit ≥ 5.0
Please refer to the installation instructions shipped with the toolkit. The toolkit is not needed for builds without GPU acceleration.
Third-party libraries¶
Boost C++ Libraries ≥ 1.55.0
The C++ part of HALMD uses libraries in the Boost C++ collection.
Note
System installations of the Boost C++ Libraries can not be used due to an ABI incompatibility (C++98 vs. C++11). For instructions how to build Boost C++ with the C++11 ABI, see Automatic installation.
Lua interpreter ≥ 5.1, < 5.3 or Lua Just-In-Time compiler ≥ 2.0
Note
Lua 5.3 is not supported. The Lua JIT compiler is recommended for advanced simulation scripts containing loops, user-defined correlation functions, etc.
A simulation with HALMD is setup and configured by means of the Lua scripting language. The fast and lightweight Lua interpreter is embedded in the HALMD executable.
HDF5 C++ Library ≥ 1.8
“HDF5 is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is designed for flexible and efficient I/O and for high volume and complex data.”
Documentation¶
Documentation is generated optionally in HTML and PDF format if these prerequisites are met:
Sphinx documentation generator ≥ 1.1
“Sphinx is a tool that makes it easy to create intelligent and beautiful documentation.”
LaTeX including pdflatex and dvipng
graphviz