I know hybrid MPI/threading is not supported in dolfin, but this is not really a question about that.
The problem I am having is that running jobs with mpirun
is giving poor performance with openmpi. For some reason, openmpi seems to create a lot of threads, presumably for its own use, to use for communication. Turning them off makes it run a lot faster.
This is with openmpi 1.6.5 on ubuntu 14.04.
e.g. if I run the simple demo_poisson.py
with a 320x320 mesh:
bash> time mpirun -n 6 python demo_poisson.py
real 0m40.151s
bash> # turn off threading
bash> export OMP_NUM_THREADS=1
bash> time mpirun -n 6 python demo_poisson.py
real 0m5.722s
Has anybody seen this before?