Building

JAMS is built using the CMake build system. Building should be straight forward, but it depends on several other libraries and packages (see Requirements) which must be built/installed before building JAMS. These requirements must be installed in a path which is findable for CMake.

JAMS should be built in a separate directory from the source code. Debug or Release builds can be built using the usual CMake flags -DCMAKE_BUILD_TYPE=Debug or -DCMAKE_BUILD_TYPE=Release.

mkdir build-release && cd build-release
cmake -DCMAKE_BUILD_TYPE=Release ..

The jams binary will be in the build-release/bin directory.

The build process also accepts the following build options:

-DJAMS_BUILD_CUDA=ON

Toggles CUDA support. Some monitors and solvers are written only in a CUDA version and will be unavailable when built with this option.

-DJAMS_BUILD_FASTMATH=ON

Toggle compiler’s fast math optimisations which break strict IEEE 754 compliance. These are mainly concerned with the handling of NaNs and Infs and should be safe to enable on most systems.

-DJAMS_BUILD_OMP=OFF

Toggles OpenMP support in a few functions within JAMS.

-DJAMS_BUILD_MIXED_PREC=OFF

Toggle some routines to use mixed single/double floating point calculations. Currently none are implemented.

-DJAMS_BUILD_TESTS=OFF

Toggle building JAMS unit tests.

-DJAMS_BUILD_DOCS=OFF

Toggle building this documentation.