Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .github/workflows/book_stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ on:
branches: ["release"]
env:
HDF5_MPI: "ON"
HDF5_DIR: "/usr/local/"
H5PY_SETUP_REQUIRES: 0
DEB_PYTHON_INSTALL_LAYOUT: deb_system
LIBGL_ALWAYS_SOFTWARE: 1
Expand All @@ -29,6 +28,12 @@ jobs:
- name: Install common packages
uses: ./.github/actions/install-dependencies

- name: Configure HDF5 MPI Environment
run: |
# Evaluate architecture dynamically and write to GITHUB_ENV
ARCH_TRIPLET=$(gcc -print-multiarch)
echo "HDF5_LIBDIR=/usr/lib/${ARCH_TRIPLET}/hdf5/openmpi" >> $GITHUB_ENV

- name: Install book deps
run: |
python3 -m pip install --break-system-packages -U pip setuptools pkgconfig poetry-core poetry_dynamic_versioning
Expand Down
18 changes: 14 additions & 4 deletions .github/workflows/test_nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,29 @@ jobs:
container: ghcr.io/fenics/dolfinx/lab:nightly

env:
HDF5_MPI: "ON"
H5PY_SETUP_REQUIRES: 0
HDF5_DIR: "/usr/local/"
PYVISTA_OFF_SCREEN: true
PYVISTA_JUPYTER_BACKEND: html
LIBGL_ALWAYS_SOFTWARE: 1
CC: "mpicc"
HDF5_MPI: "ON"
HDF5_INCLUDEDIR: "/usr/include/hdf5/openmpi"
H5PY_SETUP_REQUIRES: 0
Comment thread
jorgensd marked this conversation as resolved.
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
PRTE_MCA_rmaps_default_mapping_policy: :oversubscribe

steps:
- uses: actions/checkout@v7

- name: Special handling of some installation
uses: ./.github/actions/install-dependencies

- name: Configure HDF5 MPI Environment
run: |
# Evaluate architecture dynamically and write to GITHUB_ENV
ARCH_TRIPLET=$(gcc -print-multiarch)
echo "HDF5_LIBDIR=/usr/lib/${ARCH_TRIPLET}/hdf5/openmpi" >> $GITHUB_ENV

- name: Install requirements
run: |
python3 -m pip install --break-system-packages -U pip setuptools pkgconfig poetry-core poetry-core poetry-dynamic-versioning
Expand All @@ -46,7 +56,7 @@ jobs:
run: |
export PKG_CONFIG_PATH=/usr/local/dolfinx-complex/lib/pkgconfig:$PKG_CONFIG_PATH
export PETSC_ARCH=linux-gnu-complex128-32
export PYTHONPATH=/usr/local/dolfinx-complex/lib/python3.12/dist-packages:$PYTHONPATH
export PYTHONPATH=/usr/local/dolfinx-complex/lib/python/dist-packages:$PYTHONPATH
export LD_LIBRARY_PATH=/usr/local/dolfinx-complex/lib:$LD_LIBRARY_PATH
python3 complex_mode.py
mpirun -n 2 python3 complex_mode.py
Expand Down
11 changes: 8 additions & 3 deletions .github/workflows/test_stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,18 @@ jobs:
runs-on: ubuntu-latest
container: ghcr.io/fenics/dolfinx/lab:stable
env:
HDF5_MPI: "ON"
HDF5_DIR: "/usr/local/"
H5PY_SETUP_REQUIRES: "0"

DEB_PYTHON_INSTALL_LAYOUT: deb_system
PYVISTA_OFF_SCREEN: true
PYVISTA_JUPYTER_BACKEND: html
LIBGL_ALWAYS_SOFTWARE: 1
CC: "mpicc"
HDF5_MPI: "ON"
HDF5_INCLUDEDIR: "/usr/include/hdf5/openmpi"
H5PY_SETUP_REQUIRES: 0
Comment thread
jorgensd marked this conversation as resolved.
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
PRTE_MCA_rmaps_default_mapping_policy: :oversubscribe

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
Expand Down
15 changes: 11 additions & 4 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ ARG TARGETPLATFORM

ENV DEB_PYTHON_INSTALL_LAYOUT=deb_system
ENV HDF5_MPI="ON"
Comment thread
jorgensd marked this conversation as resolved.
ENV HDF5_DIR="/usr/local"
ENV OMPI_ALLOW_RUN_AS_ROOT=1
ENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
ENV PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe

WORKDIR /tmp/
# Requirements for pyvista (gl1 and render1) and jupyterlab (nodejs and curl)
RUN apt-get update && apt-get install -y libgl1-mesa-dev mesa-utils curl
# RUN curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh && \
# bash nodesource_setup.sh && \
# apt -y install nodejs


# Install netgen from source
RUN apt-get update && \
Expand All @@ -36,6 +36,13 @@ ENV PYTHONPATH=$NETGENDIR/../lib/python3.12/site-packages:${PYTHONPATH}:${PYTHON
# Install vtk
RUN python3 -m pip install vtk

RUN ARCH_TRIPLET=$(gcc -print-multiarch) && \
export CC="mpicc" && \
export HDF5_MPI="ON" && \
export HDF5_INCLUDEDIR="/usr/include/hdf5/openmpi" && \
export HDF5_LIBDIR="/usr/lib/${ARCH_TRIPLET}/hdf5/openmpi" && \
pip install --no-binary=h5py h5py --no-build-isolation --no-cache-dir

ADD pyproject.toml /tmp/pyproject.toml
WORKDIR /tmp
# As we install netgen from source we don't need the netgen deps here
Expand Down