Created
January 2, 2020 14:03
-
-
Save bilke/00a0b32597dd147d8a9ef08e7aa1643e to your computer and use it in GitHub Desktop.
Output of python ogscm/cli.py --pm system --ompi 4.0.1 --runtime
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM ubuntu:18.04 AS build | |
# Generated with ogs-container-maker 1.2.0 | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
curl \ | |
make \ | |
tar \ | |
wget && \ | |
rm -rf /var/lib/apt/lists/* | |
# GNU compiler | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
g++ \ | |
gcc && \ | |
rm -rf /var/lib/apt/lists/* | |
# UCX version 1.5.2 | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
binutils-dev \ | |
file \ | |
libnuma-dev \ | |
make \ | |
wget && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/openucx/ucx/releases/download/v1.5.2/ucx-1.5.2.tar.gz && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/ucx-1.5.2.tar.gz -C /var/tmp -z && \ | |
cd /var/tmp/ucx-1.5.2 && ./configure --prefix=/usr/local/ucx --enable-optimizations --disable-logging --disable-debug --disable-assertions --disable-params-check --disable-doxygen-doc --without-cuda && \ | |
make -j$(nproc) && \ | |
make -j$(nproc) install && \ | |
rm -rf /var/tmp/ucx-1.5.2.tar.gz /var/tmp/ucx-1.5.2 | |
ENV LD_LIBRARY_PATH=/usr/local/ucx/lib:$LD_LIBRARY_PATH \ | |
PATH=/usr/local/ucx/bin:$PATH | |
# PMIX version 3.1.4 | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
file \ | |
hwloc \ | |
libevent-dev \ | |
make \ | |
tar \ | |
wget && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/openpmix/openpmix/releases/download/v3.1.4/pmix-3.1.4.tar.gz && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/pmix-3.1.4.tar.gz -C /var/tmp -z && \ | |
cd /var/tmp/pmix-3.1.4 && ./configure --prefix=/usr/local/pmix && \ | |
make -j$(nproc) && \ | |
make -j$(nproc) install && \ | |
rm -rf /var/tmp/pmix-3.1.4.tar.gz /var/tmp/pmix-3.1.4 | |
ENV CPATH=/usr/local/pmix/include:$CPATH \ | |
LD_LIBRARY_PATH=/usr/local/pmix/lib:$LD_LIBRARY_PATH \ | |
PATH=/usr/local/pmix/bin:$PATH | |
# SLURM PMI2 version 17.02.11 | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
bzip2 \ | |
file \ | |
make \ | |
perl \ | |
tar \ | |
wget && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://download.schedmd.com/slurm/slurm-17.02.11.tar.bz2 && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/slurm-17.02.11.tar.bz2 -C /var/tmp -j && \ | |
cd /var/tmp/slurm-17.02.11 && ./configure --prefix=/usr/local/slurm-pmi2 && \ | |
make -C contribs/pmi2 install && \ | |
rm -rf /var/tmp/slurm-17.02.11.tar.bz2 /var/tmp/slurm-17.02.11 | |
# OpenMPI version 4.0.1 | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
bzip2 \ | |
file \ | |
hwloc \ | |
libnuma-dev \ | |
make \ | |
openssh-client \ | |
perl \ | |
tar \ | |
wget && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-4.0.1.tar.bz2 && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/openmpi-4.0.1.tar.bz2 -C /var/tmp -j && \ | |
cd /var/tmp/openmpi-4.0.1 && ./configure --prefix=/usr/local/openmpi --disable-getpwuid --enable-orterun-prefix-by-default --without-cuda --with-pmi=/usr/local/slurm-pmi2 --with-pmix=/usr/local/pmix --without-verbs --with-ucx=/usr/local/ucx && \ | |
make -j$(nproc) && \ | |
make -j$(nproc) install && \ | |
rm -rf /var/tmp/openmpi-4.0.1.tar.bz2 /var/tmp/openmpi-4.0.1 | |
ENV LD_LIBRARY_PATH=/usr/local/openmpi/lib:$LD_LIBRARY_PATH \ | |
PATH=/usr/local/openmpi/bin:$PATH | |
RUN mkdir /mnt/0 && \ | |
echo 'plm_rsh_agent = false' >> /mnt/0/openmpi-mca-params.conf | |
LABEL org.opengeosys.mpi=openmpi \ | |
org.opengeosys.mpi.version=4.0.1 | |
# OGS base building block | |
# Python | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
python3 \ | |
python3-dev && \ | |
rm -rf /var/lib/apt/lists/* | |
# pip | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
python3-pip \ | |
python3-setuptools \ | |
python3-wheel && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN pip3 install virtualenv pre-commit cmake-format | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends software-properties-common && \ | |
apt-add-repository ppa:git-core/ppa -y && \ | |
apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
git \ | |
git-lfs \ | |
ninja-build && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN apt-get update && \ | |
apt-get install -y dirmngr --install-recommends && \ | |
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \ | |
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \ | |
git lfs install && \ | |
mkdir -p /apps /scratch /lustre /work /projects /data | |
# CMake version 3.12.4 | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
make \ | |
wget && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.sh && \ | |
mkdir -p /usr/local && \ | |
/bin/sh /var/tmp/cmake-3.12.4-Linux-x86_64.sh --prefix=/usr/local --skip-license && \ | |
rm -rf /var/tmp/cmake-3.12.4-Linux-x86_64.sh | |
ENV PATH=/usr/local/bin:$PATH | |
# Boost version 1.66.0 | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
bzip2 \ | |
libbz2-dev \ | |
tar \ | |
wget \ | |
zlib1g-dev && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2 && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/boost_1_66_0.tar.bz2 -C /var/tmp -j && \ | |
cd /var/tmp/boost_1_66_0 && ./bootstrap.sh --prefix=/usr/local/boost --without-libraries=python && \ | |
./b2 -j$(nproc) -q install && \ | |
rm -rf /var/tmp/boost_1_66_0.tar.bz2 /var/tmp/boost_1_66_0 | |
ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH | |
ENV BOOST_ROOT=/usr/local/boost | |
# Eigen version 3.3.4 | |
# http://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp http://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/3.3.4.tar.gz -C /var/tmp -z && \ | |
mkdir -p /var/tmp/eigen-eigen-*/build && cd /var/tmp/eigen-eigen-*/build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/eigen /var/tmp/eigen-eigen-* && \ | |
cmake --build /var/tmp/eigen-eigen-*/build --target all -- -j$(nproc) && \ | |
cmake --build /var/tmp/eigen-eigen-*/build --target install -- -j$(nproc) && \ | |
rm -rf /var/tmp/eigen-eigen-* /var/tmp/3.3.4.tar.gz | |
ENV Eigen3_DIR=/usr/local/eigen \ | |
Eigen3_ROOT=/usr/local/eigen | |
# VTK 8.2.0 | |
# https://www.vtk.org/files/release/8.2/VTK-8.2.0.tar.gz | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://www.vtk.org/files/release/8.2/VTK-8.2.0.tar.gz && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/VTK-8.2.0.tar.gz -C /var/tmp -z && \ | |
mkdir -p /var/tmp/VTK-8.2.0/build && cd /var/tmp/VTK-8.2.0/build && CC=mpicc CXX=mpicxx F77=mpif77 F90=mpif90 FC=mpifort cmake -DCMAKE_INSTALL_PREFIX=/usr/local/vtk -DVTK_Group_StandAlone=OFF -DVTK_Group_Rendering=OFF -DModule_vtkIOXML=ON -D CMAKE_BUILD_TYPE=Release -D Module_vtkIOParallelXML=ON -D Module_vtkParallelMPI=ON /var/tmp/VTK-8.2.0 && \ | |
cmake --build /var/tmp/VTK-8.2.0/build --target all -- -j$(nproc) && \ | |
cmake --build /var/tmp/VTK-8.2.0/build --target install -- -j$(nproc) && \ | |
rm -rf /var/tmp/VTK-8.2.0 /var/tmp/VTK-8.2.0.tar.gz | |
RUN echo "/usr/local/vtk/lib" >> /etc/ld.so.conf.d/hpccm.conf && ldconfig | |
ENV VTK_ROOT=/usr/local/vtk | |
# PETSc 3.11.3 | |
# http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.11.3.tar.gz | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-lite-3.11.3.tar.gz && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/petsc-lite-3.11.3.tar.gz -C /var/tmp -z && \ | |
cd /var/tmp/petsc-3.11.3 && \ | |
sed -i -- 's/python/python3/g' configure && \ | |
cd /var/tmp/petsc-3.11.3 && CC=mpicc CXX=mpicxx ./configure --prefix=/usr/local/petsc CC=mpicc CXX=mpicxx --CFLAGS='-O3' --CXXFLAGS='-O3' --FFLAGS='-O3' --with-debugging=no --with-fc=0 --download-f2cblaslapack=1 && \ | |
make -j$(nproc) && \ | |
make -j$(nproc) install && \ | |
rm -rf /var/tmp/petsc-3.11.3 /var/tmp/petsc-lite-3.11.3.tar.gz | |
RUN echo "/usr/local/petsc/lib" >> /etc/ld.so.conf.d/hpccm.conf && ldconfig | |
ENV PETSC_DIR=/usr/local/petsc | |
LABEL petsc.version=3.11.3 | |
# CVode version 2.8.2 | |
# https://github.com/ufz/cvode/archive/2.8.2.tar.gz | |
RUN mkdir -p /var/tmp && wget -q -nc --no-check-certificate -P /var/tmp https://github.com/ufz/cvode/archive/2.8.2.tar.gz && \ | |
mkdir -p /var/tmp && tar -x -f /var/tmp/2.8.2.tar.gz -C /var/tmp -z && \ | |
mkdir -p /var/tmp/cvode-2.8.2/build && cd /var/tmp/cvode-2.8.2/build && cmake -DCMAKE_INSTALL_PREFIX=/usr/local/cvode -D CMAKE_INSTALL_PREFIX=/usr/local/cvode -D EXAMPLES_INSTALL=OFF -D BUILD_SHARED_LIBS=OFF -D CMAKE_POSITION_INDEPENDENT_CODE=ON /var/tmp/cvode-2.8.2 && \ | |
cmake --build /var/tmp/cvode-2.8.2/build --target all -- -j$(nproc) && \ | |
cmake --build /var/tmp/cvode-2.8.2/build --target install -- -j$(nproc) && \ | |
rm -rf /var/tmp/cvode-2.8.2 /var/tmp/2.8.2.tar.gz | |
ENV CVODE_ROOT=/usr/local/cvode | |
# pip | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
python3-pip \ | |
python3-setuptools \ | |
python3-wheel && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN pip3 install scif | |
ARG OGS_COMMIT_HASH=b926a8813c92d85f005fcac429597d659c8e0973 | |
# SCI-F "ogs" | |
COPY _out/docker/ubuntu_18.04/ogs-b926a881/openmpi-4.0.1/system/cmake-d41d8cd9/ogs.scif /scif/recipes/ogs.scif | |
RUN scif install /scif/recipes/ogs.scif | |
FROM ubuntu:18.04 | |
# pip | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
python3-pip \ | |
python3-setuptools \ | |
python3-wheel && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN pip3 install scif | |
# GNU compiler runtime | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
libgomp1 && \ | |
rm -rf /var/lib/apt/lists/* | |
# UCX | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
libbinutils && \ | |
rm -rf /var/lib/apt/lists/* | |
COPY --from=build /usr/local/ucx /usr/local/ucx | |
ENV LD_LIBRARY_PATH=/usr/local/ucx/lib:$LD_LIBRARY_PATH \ | |
PATH=/usr/local/ucx/bin:$PATH | |
# PMIX | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
libevent-2.* \ | |
libevent-pthreads-2.* && \ | |
rm -rf /var/lib/apt/lists/* | |
COPY --from=build /usr/local/pmix /usr/local/pmix | |
ENV CPATH=/usr/local/pmix/include:$CPATH \ | |
LD_LIBRARY_PATH=/usr/local/pmix/lib:$LD_LIBRARY_PATH \ | |
PATH=/usr/local/pmix/bin:$PATH | |
# SLURM PMI2 | |
COPY --from=build /usr/local/slurm-pmi2 /usr/local/slurm-pmi2 | |
# OpenMPI | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
hwloc \ | |
openssh-client && \ | |
rm -rf /var/lib/apt/lists/* | |
COPY --from=build /usr/local/openmpi /usr/local/openmpi | |
ENV LD_LIBRARY_PATH=/usr/local/openmpi/lib:$LD_LIBRARY_PATH \ | |
PATH=/usr/local/openmpi/bin:$PATH | |
# OGS base building block | |
# Python | |
RUN apt-get update -y && \ | |
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ | |
python3 && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN mkdir -p /apps /scratch /lustre /work /projects | |
# Boost | |
COPY --from=build /usr/local/boost /usr/local/boost | |
ENV LD_LIBRARY_PATH=/usr/local/boost/lib:$LD_LIBRARY_PATH | |
# VTK 8.2.0 | |
COPY --from=build /usr/local/vtk /usr/local/vtk | |
RUN echo "/usr/local/vtk/lib" >> /etc/ld.so.conf.d/hpccm.conf && ldconfig | |
ENV VTK_ROOT=/usr/local/vtk | |
# PETSc 3.11.3 | |
COPY --from=build /usr/local/petsc /usr/local/petsc | |
RUN echo "/usr/local/petsc/lib" >> /etc/ld.so.conf.d/hpccm.conf && ldconfig | |
ENV PETSC_DIR=/usr/local/petsc | |
LABEL petsc.version=3.11.3 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%appenv ogs | |
export PATH=/scif/apps/ogs/bin:$PATH | |
%apphelp ogs | |
OpenGeoSys build from repo ufz/ogs, branch master | |
%appinstall ogs | |
mkdir -p /scif/apps/ogs && cd /scif/apps/ogs | |
GIT_LFS_SKIP_SMUDGE=1 git clone --branch master https://github.com/ufz/ogs src | |
(cd src && git reset --hard b926a8813c92d85f005fcac429597d659c8e0973) | |
(cd src && git fetch --tags) | |
mkdir -p /scif/apps/ogs/build && cd /scif/apps/ogs/build && CC=mpicc CXX=mpicxx F77=mpif77 F90=mpif90 FC=mpifort cmake -DCMAKE_INSTALL_PREFIX=/scif/apps/ogs -DOGS_USE_CVODE=ON -G Ninja -DCMAKE_INSTALL_PREFIX=/scif/apps/ogs -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DOGS_USE_PETSC=ON /scif/apps/ogs/src | |
cmake --build /scif/apps/ogs/build --target install -- -j4 | |
rm -rf /scif/apps/ogs/build | |
rm -rf /scif/apps/ogs/src | |
%applabels ogs | |
cmake_args ' -DOGS_USE_CVODE=ON -G Ninja -DCMAKE_INSTALL_PREFIX=/scif/apps/ogs -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DOGS_USE_PETSC=ON' | |
version ufz/ogs@master (b926a8813c92d85f005fcac429597d659c8e0973) | |
%apprun ogs | |
exec ogs "$@" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment