hbrs-cmake (GitHub.com, H-BRS GitLab) is CMake 3 package that
provides additional modules and scripts for CMake, e.g. to find common software using CMake's find_package(), such as
FLAME, gzip, LAPACKE, objdump, perf,
valgrind, hdf5, mpi4py and netcdf.
Its development started in 2015 as a research project at Bonn-Rhein-Sieg University of Applied Sciences, from 2016-2019 it was funded partly by BMBF project AErOmAt.
Primary use cases for hbrs-cmake are:
hbrs-mpl(GitHub.com, H-BRS GitLab), a generic C++17 library for distributed scientific computing at HPC clustershbrs-theta_utils(GitHub.com, H-BRS GitLab), a postprocessing tool to CFD solvers TAU and THETA for data-driven modal decompositionspython-edamer(GitHub.com, H-BRS GitLab), a Python 3 library for exascale data analysis and machine learning applications
For a quick and easy start into developing with C++, a set of ready-to-use Docker/Podman images
jm1337/debian-dev-hbrs and jm1337/debian-dev-full (supports more languages) has been created. They contain a full
development system including all tools and libraries necessary to hack on distributed decomposition algorithms and more
(Docker Hub, source files for Docker images).
- On
Debian 10 (Buster)orDebian 11 (Bullseye)just runsudo apt install docker.ioor follow the official install guide for Docker Engine on Debian - On
Ubuntu 18.04 LTS (Bionic Beaver)andUbuntu 20.04 LTS (Focal Fossa)just runsudo apt install docker.io(frombionic/universeandfocal/universerepositories) or follow the official install guide for Docker Engine on Ubuntu - On
Windows 10follow the official install guide for Docker Desktop on Windows - On
Macfollow the official install guide for Docker Desktop on Mac - On
Fedora,Red Hat Enterprise Linux (RHEL)andCentOSfollow the official install guide for Podman
# docker version 18.06.0-ce or later is recommended
docker --version
# fetch docker image
docker pull jm1337/debian-dev-hbrs:bullseye
# log into docker container
docker run -ti jm1337/debian-dev-hbrs:bullseye
# or using a persistent home directory, e.g.
docker run -ti -v /HOST_DIR:/home/devil/ jm1337/debian-dev-hbrs:bullseye
# or using a persistent home directory on Windows hosts, e.g.
docker run -ti -v C:\YOUR_DIR:/home/devil/ jm1337/debian-dev-hbrs:bullseyePodman strives for complete CLI compatibility with Docker, hence
you may use the alias command to create a docker alias for Podman:
alias docker=podmanExecute the following commands within the Docker/Podman container:
# fetch, compile and install hbrs-cmake
git clone --depth 1 https://github.com/JM1/hbrs-cmake.git
cd hbrs-cmake
mkdir build && cd build/
# install to non-system directory because sudo is not allowed in this docker container
cmake \
-DCMAKE_INSTALL_PREFIX=$HOME/.local \
..
make -j$(nproc)
make installFor more examples on how to build and test this code see .gitlab-ci.yml.
GNU General Public License v3.0 or later
See LICENSE.md to see the full text.
Jakob Meng @jm1 (GitHub.com, Web)