MPI within docker containers

Issue #66 invalid
Lachlan Mason created an issue

Using MPI and a high value for the number of copies (-np) gives me this error from within the docker container:

...
...
Process 0: Newton solver finished in 5 iterations and 5 linear solver iterations.
Process 0: Newton iteration 0: r (abs) = 9.941e+01 (tol = 1.000e-10) r (rel) = 1.000e+00 (tol = 1.000e-06)
Process 0: Newton iteration 1: r (abs) = 3.978e+01 (tol = 1.000e-10) r (rel) = 4.002e-01 (tol = 1.000e-06)
Process 0: Newton iteration 2: r (abs) = 1.889e+00 (tol = 1.000e-10) r (rel) = 1.900e-02 (tol = 1.000e-06)

===================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   PID 57 RUNNING AT d7e3ea18a394
=   EXIT CODE: 135
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Bus error (signal 7)
This typically refers to a problem with your application.
Please see the FAQ page for debugging suggestions

To reproduce, run the following from the host computer:

docker run -it quay.io/fenicsproject/stable:2017.2.0 bash

Then run the following from within the docker container:

cd ~/demo/documented/cahn-hilliard/python
mpirun -np 20 python3 demo_cahn-hilliard.py

I don't get the MPI error when running natively. To confirm on ubuntu, run

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fenics-packages/fenics
sudo apt-get update
sudo apt-get install --no-install-recommends fenics

mkdir /tmp/test
cd /tmp/test

wget http://fenics.readthedocs.io/projects/dolfin/en/2017.2.0/_downloads/demo_cahn-hilliard.py
mpirun -np 20 /usr/bin/python demo_cahn-hilliard.py

Comments (4)

  1. Lachlan Mason reporter

    Brilliant. Thanks for the tip. This works:

    docker run --shm-size=1g -it quay.io/fenicsproject/stable:2017.2.0 bash
    
  2. Log in to comment