Skip to content

Getting Started

Download

To access the code repository, please provide your information by filling out this form and reading the instructions. You will be given an access token to the project's GitLab repository.

Once you have obtained your access token you can clone the HUMMR code from the GitLab repository with the following command:

git clone https://scm.cms.hu-berlin.de/hummr-dev-team/hummr.git

Prerequisites

  • CMake 3.20 or newer.
  • A C++20 capable compiler, recommended GCC-13 or newer (tested with GCC only).
  • OpenMPI 3.0.0 or newer.
  • BLAS/LAPACK: Intel OneAPI Math Kernel Library (MKL) 2024.1 or newer.
  • Python 2.x or 3.x.

Handling BLAS/LAPACK

  • Obtain the IntelMKL from Intel. To use IntelMKL, CMake must have access to either MKLConfig.cmake or mkl-config.cmake file. If MKL is installed in non-system directories, the MKL installation path (MKLROOT) should be defined as an environment variable. Here is an example of how to make MKL available for Intel OneAPI 2024.1. Run the following command in the directory where you are installing HUMMR:

    source /opt/intel/oneapi/mkl/2024.1/env/vars.sh
    export MKL_DIR=${MKLROOT}
    

    Doing so, the $MKLROOT variable will be defined (/opt/intel/oneapi/mkl/2024.1) and from there on, CMake can find the necessary MKL-libraries by itself.

    Note

    the location of vars.sh may vary depending on the installation location of your IntelMKL.


Installation

Make sure that a C++20 compiler is being used. In case of problems, one solution might be to define the environment variables:

export CXX=<path to C++20 g++ binary>
export CC=<path to C++20 gcc binary>
cmake -S . -B build -DCMAKE_BUILD_TYPE=<Specify Debug or Release>
cmake --build build/ -j <nprocs>

Warning

The first step can take a while depending on your system as several external libraries are built.

If you are a developer, it is recommended to choose the Debug mode. For running calculations, use Release mode for high performance.

Finally, add the HUMMR build directory to your PATH-variable and you are ready to Run HUMMR.


Need Help

If you encounter any issues or need assistance while using HUMMR, visit our Need Help. This page provides detailed instructions on how to report issues and get the support you need.

Check out our Known Issues page to see common problems users might face while using HUMMR. This page documents known bugs and offers troubleshooting steps to resolve them.