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.
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.
CMake ≤ 3.0 may have problems locating a CUDA host compiler (especially if you use nvcc.profile to specify a compiler directory). If you experience errors like “-m64: No such file or directory” when compiling cuda sources, the problem can be solved by manually setting the CMake variable CUDA_HOST_COMPILER to the full path of the desired host compiler. CMake ≥ 3.1 fixes this problem.
The problem does not occur for builds without GPU acceleration.
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.
Boost C++ Libraries ≥ 1.55.0
The C++ part of HALMD uses libraries in the Boost C++ collection.
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.
We recommend Lua 5.2 or later. 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.”