-
-
Notifications
You must be signed in to change notification settings - Fork 994
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot run ipythonparallel with openmpi #865
Comments
Also tested with the latest 5.0.2 patch, with no success. |
A hunch is to set: ENV OMPI_ALLOW_RUN_AS_ROOT=1
ENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 in the dockerfile. At least it works when openmpi is installed through apt: RUN DEBIAN_FRONTEND=noninteractive apt-get install -y openmpi-bin libopenmpi-dev |
It did not work with: FROM ubuntu:22.04
ARG OPENMPI_SERIES=5.0
ARG OPENMPI_PATCH=1
RUN DEBIAN_FRONTEND=noninteractive apt-get update && \
apt-get install -y wget g++ cmake python3-dev
# RUN DEBIAN_FRONTEND=noninteractive apt-get install -y openmpi-bin libopenmpi-dev
RUN wget https://download.open-mpi.org/release/open-mpi/v${OPENMPI_SERIES}/openmpi-${OPENMPI_SERIES}.${OPENMPI_PATCH}.tar.gz && \
tar xfz openmpi-${OPENMPI_SERIES}.${OPENMPI_PATCH}.tar.gz && \
cd openmpi-${OPENMPI_SERIES}.${OPENMPI_PATCH} && \
./configure && \
make -j${BUILD_NP} install && \
ldconfig
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python3-pip
RUN python3 -m pip install mpi4py ipyparallel
ENV OMPI_ALLOW_RUN_AS_ROOT=1
ENV OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
RUN python3 -c "import ipyparallel as ipp; cluster = ipp.Cluster(engines='mpi', n=3); rc = cluster.start_and_connect_sync();cluster.stop_cluster_sync()"
|
Yeah, OMPI refuses to run as root unless you tell it you're really super sure that's what you want. I think the goal hereis perhaps to figure out why you're not getting error output in the first case, because I'ld call the second one "working as intended" since you get OMPI's actionable error message. Maybe a race/buffering issue. |
It didn't run with 4.1.2 with wget, which should be the same as the one on apt. |
I think the issue in IPP is in how it tries to parse output from mpiexec in order to log errors. The structure changed, so IPP doesn't extract messages from OMPI anymore, and doesn't report what it does find, which is either:
if you are missing allow-run-as-root, and then
if you are missing Ultimately, I think you need to set these environment variables:
In OMPI 4, The issues seem to stem from OMPI migrating from ORTE to PRRTE, which renamed a bunch of things, and doesn't seem to produce particularly informative errors. |
Working setting for OMPI4: export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
export OMPI_MCA_plm=isolated Working for 5.0.x export OMPI_ALLOW_RUN_AS_ROOT=1
export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
export OMPI_MCA_plm=ssh
export OMPI_MCA_plm_ssh_agent=false for the minimal test case. |
Trying to run ipythonparallel with openmpi crashes at startup:
MWE.
returns
The text was updated successfully, but these errors were encountered: