Skip to content

Commit

Permalink
Merge pull request #288 from EinsteinToolkit/eschnett/ci-shared
Browse files Browse the repository at this point in the history
CI: Use shared libraries in Docker image
  • Loading branch information
eschnett authored May 31, 2024
2 parents fdc2eff + 709f7ca commit 6fb486d
Show file tree
Hide file tree
Showing 5 changed files with 147 additions and 26 deletions.
32 changes: 28 additions & 4 deletions docker/carpetx-arm64v8-cpu.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ RUN mkdir src && \
-DBUILD_BENCHMARKS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_FUZZERS=OFF \
-DBUILD_STATIC=OFF \
-DBUILD_TESTS=OFF \
&& \
cmake --build build && \
Expand All @@ -132,8 +133,11 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DADIOS2_BUILD_EXAMPLES=OFF \
-DADIOS2_Blosc2_PREFER_SHARED=ON \
-DADIOS2_USE_Blosc2=ON \
-DADIOS2_USE_Fortran=OFF \
&& \
cmake --build build && \
Expand All @@ -149,7 +153,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/asdf-cxx/archive/refs/tags/version/7.3.2.tar.gz && \
tar xzf 7.3.2.tar.gz && \
cd asdf-cxx-version-7.3.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -184,8 +192,10 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DopenPMD_BUILD_SHARED_LIBS=ON \
-DopenPMD_USE_MPI=ON \
&& \
cmake --build build && \
cmake --install build && \
Expand Down Expand Up @@ -216,7 +226,9 @@ RUN mkdir src && \
cd build && \
../configure \
--disable-fortran \
--disable-static \
--enable-optimization \
--enable-shared \
--with-hdf5=/usr/lib/aarch64-linux-gnu/hdf5/serial/include,/usr/lib/aarch64-linux-gnu/hdf5/serial/lib \
--prefix=/usr/local \
&& \
Expand All @@ -235,7 +247,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/SimulationIO/archive/refs/tags/version/9.0.3.tar.gz && \
tar xzf 9.0.3.tar.gz && \
cd SimulationIO-version-9.0.3 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_ASDF_CXX=OFF && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DENABLE_ASDF_CXX=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand All @@ -248,7 +264,11 @@ RUN mkdir src && \
wget https://github.com/astro-informatics/ssht/archive/v1.5.2.tar.gz && \
tar xzf v1.5.2.tar.gz && \
cd ssht-1.5.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -285,3 +305,7 @@ RUN mkdir src && \
cmake --install build && \
true) && \
rm -rf src

# Find libraries in /usr/local/lib64
RUN echo /usr/local/lib64 >/etc/ld.so.conf.d/usr-local-lib64.conf && \
ldconfig
32 changes: 28 additions & 4 deletions docker/carpetx-cpu.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ RUN mkdir src && \
-DBUILD_BENCHMARKS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_FUZZERS=OFF \
-DBUILD_STATIC=OFF \
-DBUILD_TESTS=OFF \
&& \
cmake --build build && \
Expand All @@ -132,8 +133,11 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DADIOS2_BUILD_EXAMPLES=OFF \
-DADIOS2_Blosc2_PREFER_SHARED=ON \
-DADIOS2_USE_Blosc2=ON \
-DADIOS2_USE_Fortran=OFF \
&& \
cmake --build build && \
Expand All @@ -149,7 +153,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/asdf-cxx/archive/refs/tags/version/7.3.2.tar.gz && \
tar xzf 7.3.2.tar.gz && \
cd asdf-cxx-version-7.3.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -184,8 +192,10 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DopenPMD_BUILD_SHARED_LIBS=ON \
-DopenPMD_USE_MPI=ON \
&& \
cmake --build build && \
cmake --install build && \
Expand Down Expand Up @@ -216,7 +226,9 @@ RUN mkdir src && \
cd build && \
../configure \
--disable-fortran \
--disable-static \
--enable-optimization \
--enable-shared \
--with-hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial/include,/usr/lib/x86_64-linux-gnu/hdf5/serial/lib \
--prefix=/usr/local \
&& \
Expand All @@ -235,7 +247,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/SimulationIO/archive/refs/tags/version/9.0.3.tar.gz && \
tar xzf 9.0.3.tar.gz && \
cd SimulationIO-version-9.0.3 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_ASDF_CXX=OFF && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DENABLE_ASDF_CXX=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand All @@ -248,7 +264,11 @@ RUN mkdir src && \
wget https://github.com/astro-informatics/ssht/archive/v1.5.2.tar.gz && \
tar xzf v1.5.2.tar.gz && \
cd ssht-1.5.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -285,3 +305,7 @@ RUN mkdir src && \
cmake --install build && \
true) && \
rm -rf src

# Find libraries in /usr/local/lib64
RUN echo /usr/local/lib64 >/etc/ld.so.conf.d/usr-local-lib64.conf && \
ldconfig
38 changes: 31 additions & 7 deletions docker/carpetx-cuda.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
# docker build --build-arg real_precision=real32 --file carpetx-cuda.dockerfile --tag einsteintoolkit/carpetx:cuda-real32 .
# docker push einsteintoolkit/carpetx:cuda-real32

# FROM nvidia/cuda:12.3.2-devel-ubuntu22.04
FROM nvidia/cuda:12.4.1-devel-ubuntu22.04
# FROM nvidia/cuda:12.4.1-devel-ubuntu22.04
FROM nvidia/cuda:12.5.0-devel-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive \
LANGUAGE=en_US.UTF-8 \
LANGUAGE=en_US.en \
LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8

Expand Down Expand Up @@ -112,6 +112,7 @@ RUN mkdir src && \
-DBUILD_BENCHMARKS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_FUZZERS=OFF \
-DBUILD_STATIC=OFF \
-DBUILD_TESTS=OFF \
&& \
cmake --build build && \
Expand All @@ -130,8 +131,11 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DADIOS2_BUILD_EXAMPLES=OFF \
-DADIOS2_Blosc2_PREFER_SHARED=ON \
-DADIOS2_USE_Blosc2=ON \
-DADIOS2_USE_Fortran=OFF \
&& \
cmake --build build && \
Expand All @@ -147,7 +151,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/asdf-cxx/archive/refs/tags/version/7.3.2.tar.gz && \
tar xzf 7.3.2.tar.gz && \
cd asdf-cxx-version-7.3.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -182,8 +190,10 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DopenPMD_BUILD_SHARED_LIBS=ON \
-DopenPMD_USE_MPI=ON \
&& \
cmake --build build && \
cmake --install build && \
Expand Down Expand Up @@ -214,7 +224,9 @@ RUN mkdir src && \
cd build && \
../configure \
--disable-fortran \
--disable-static \
--enable-optimization \
--enable-shared \
--with-hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial/include,/usr/lib/x86_64-linux-gnu/hdf5/serial/lib \
--prefix=/usr/local \
&& \
Expand All @@ -233,7 +245,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/SimulationIO/archive/refs/tags/version/9.0.3.tar.gz && \
tar xzf 9.0.3.tar.gz && \
cd SimulationIO-version-9.0.3 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_ASDF_CXX=OFF && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DENABLE_ASDF_CXX=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand All @@ -246,7 +262,11 @@ RUN mkdir src && \
wget https://github.com/astro-informatics/ssht/archive/v1.5.2.tar.gz && \
tar xzf v1.5.2.tar.gz && \
cd ssht-1.5.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -285,3 +305,7 @@ RUN mkdir src && \
cmake --install build && \
true) && \
rm -rf src

# Find libraries in /usr/local/lib64
RUN echo /usr/local/lib64 >/etc/ld.so.conf.d/usr-local-lib64.conf && \
ldconfig
37 changes: 31 additions & 6 deletions docker/carpetx-oneapi.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
FROM intel/oneapi-basekit:2024.1.0-devel-ubuntu22.04

ENV DEBIAN_FRONTEND=noninteractive \
LANGUAGE=en_US.UTF-8 \
LANGUAGE=en_US.en \
LANG=en_US.UTF-8 \
LC_ALL=en_US.UTF-8

Expand All @@ -19,7 +19,8 @@ WORKDIR /cactus

# Install system packages
# - Boost on Ubuntu requires OpenMPI
RUN apt-get update && \
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 28DA432DAAC8BAEA && \
apt-get update --allow-insecure-repositories && \
apt-get --yes --no-install-recommends install \
ca-certificates \
cmake \
Expand Down Expand Up @@ -78,6 +79,7 @@ RUN mkdir src && \
-DBUILD_BENCHMARKS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_FUZZERS=OFF \
-DBUILD_STATIC=OFF \
-DBUILD_TESTS=OFF \
&& \
cmake --build build && \
Expand All @@ -95,8 +97,11 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
-DADIOS2_BUILD_EXAMPLES=OFF \
-DADIOS2_Blosc2_PREFER_SHARED=ON \
-DADIOS2_USE_Blosc2=ON \
-DADIOS2_USE_Fortran=OFF \
&& \
cmake --build build && \
Expand All @@ -112,7 +117,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/asdf-cxx/archive/refs/tags/version/7.3.2.tar.gz && \
tar xzf 7.3.2.tar.gz && \
cd asdf-cxx-version-7.3.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_SHARED_LIBS=ON \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -147,8 +156,10 @@ RUN mkdir src && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTING=OFF \
-DopenPMD_BUILD_SHARED_LIBS=ON \
-DopenPMD_USE_MPI=ON \
&& \
cmake --build build && \
cmake --install build && \
Expand Down Expand Up @@ -179,7 +190,9 @@ RUN mkdir src && \
cd build && \
../configure \
--disable-fortran \
--disable-static \
--enable-optimization \
--enable-shared \
--with-hdf5=/usr/lib/x86_64-linux-gnu/hdf5/serial/include,/usr/lib/x86_64-linux-gnu/hdf5/serial/lib \
--prefix=/usr/local \
&& \
Expand All @@ -198,7 +211,11 @@ RUN mkdir src && \
wget https://github.com/eschnett/SimulationIO/archive/refs/tags/version/9.0.3.tar.gz && \
tar xzf 9.0.3.tar.gz && \
cd SimulationIO-version-9.0.3 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_ASDF_CXX=OFF && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DENABLE_ASDF_CXX=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand All @@ -211,7 +228,11 @@ RUN mkdir src && \
wget https://github.com/astro-informatics/ssht/archive/v1.5.2.tar.gz && \
tar xzf v1.5.2.tar.gz && \
cd ssht-1.5.2 && \
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=/usr/local && \
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DBUILD_TESTING=OFF \
&& \
cmake --build build && \
cmake --install build && \
true) && \
Expand Down Expand Up @@ -263,3 +284,7 @@ RUN mkdir src && \
cmake --install build && \
true) && \
rm -rf src

# Find libraries in /usr/local/lib64
RUN echo /usr/local/lib64 >/etc/ld.so.conf.d/usr-local-lib64.conf && \
ldconfig
Loading

0 comments on commit 6fb486d

Please sign in to comment.