Andrew -- One must distinguish between threads and MPI processes. They are different things. One may do computations with P MPI processes and N OpenMP threads per process; for example https://openmp.org/wp-content/uploads/HybridPP_Slides.pdf By using mpiexec you are setting the number of MPI processes. Each MPI process has an independent memory space. By contrast OpenMP threads share a memory. (And I just exhausted my knowledge of OpenMP threads.) In any case, running export OMP_NUM_THREADS=N mpiexec -n P ./program.py might yield a hybrid computation which you want. Ed On Mon, Aug 2, 2021 at 3:57 PM Andrew Hicks <ahick17@lsu.edu> wrote:
Dear Firedrake,
I recently tried to run Firedrake using “mpiexec -n 80”, so 80 threads, to improve performance. But I got the warning “OMP_NUM_THREADS is not set or is set to a value greater than 1, we suggest setting OMP_NUM_THREADS=1 to improve performance” which doesn’t really make sense in my mind since I want 80 threads. Perhaps I am misunderstanding what’s going on here.
So, is this a problem, and if so, how can I set OMP_NUM_THREADS=1?
Andrew Hicks _______________________________________________ firedrake mailing list firedrake@imperial.ac.uk https://mailman.ic.ac.uk/mailman/listinfo/firedrake
-- Ed Bueler Dept of Mathematics and Statistics University of Alaska Fairbanks Fairbanks, AK 99775-6660 306C Chapman