-
Notifications
You must be signed in to change notification settings - Fork 43
Using Docker container
Kevin" Seung Whan Chung edited this page Jun 15, 2023
·
18 revisions
Docker container librom_env provides a containerized environment with all the prerequisites for libROM. In order to compile and use libROM in the Docker container, follow these steps:
- Pull
librom_env, with Docker Desktop installed and running
docker pull ghcr.io/llnl/librom/librom_env:latest
- Clone libROM repository
git clone https://github.com/LLNL/libROM.git
- Launch the Docker container with the cloned repository
docker run -it --volume ./libROM:/home/test/libROM ghcr.io/llnl/librom/librom_env:latest
- This will lead to a terminal with the cloned repository mounted at
~/libROM. Compile libROM with the pre-set environment variables
mkdir build
cd build
cmake ~/libROM -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DUSE_MFEM=${USE_MFEM} -DMFEM_USE_GSLIB=${MFEM_USE_GSLIB}
make -j 4
Some notes about using the Docker container:
- Any change within the container will not be saved, except those happening in the mounted directory
./libROM. - Any change in
/home/test/libROMin the container is instantaneously reflected into the actual directory./libROM, and vice versa.
- Machine architecture:
Linux-x86_64 - From: ubuntu:22.04
- Dependencies:
cmake-3.22.1hypre-2.20.0parmetis-4.0.3gslib-1.0.7-
mfem: latest verified commit on May 02, 2023 -
googletest-v1.12.1: the last release that supports c++11
- Environmental variables preset for libROM cmake:
TOOLCHAIN_FILE=/env/dependencies/librom_env.cmakeBUILD_TYPE=OptimizedUSE_MFEM=OnMFEM_USE_GSLIB=On
- Miscellaneous packages
- Debugging tools:
valgrind,lldb,gdb - Python packages:
numpy,scipy,argparse,tables,PyYAML,h5py,pybind11,pytest,mpi4py
- Debugging tools: