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.io
or 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/universe
andfocal/universe
repositories) or follow the official install guide for Docker Engine on Ubuntu - On
Windows 10
follow the official install guide for Docker Desktop on Windows - On
Mac
follow the official install guide for Docker Desktop on Mac - On
Fedora
,Red Hat Enterprise Linux (RHEL)
andCentOS
follow 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:bullseye
Podman strives for complete CLI compatibility with Docker, hence
you may use the alias
command to create a docker
alias for Podman:
alias docker=podman
Execute 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 install
For 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)