Thunderhead Engineering Forum

Please login or register.

Login with username, password and session length
Advanced search  


Forum moved to

Author Topic: OpenMP Threads and Threads MPI  (Read 259 times)


  • New Member
  • *
  • Posts: 2
    • View Profile
OpenMP Threads and Threads MPI
« on: March 10, 2020, 08:20:13 am »

I'm still trying to wrap my brain around when to use OpenMP and when to use OpenMP Threads MPI (~"MPI) in FDS/Pyrosim.  I read the FDS users guide section 3.3.1, but still struggling on application...and i'm hoping someone can help!

The current machine I am utilizing for smaller runs is 12 GB ram with a Xeon e5 with 4 physical cores reported in that 1 cpu. When I read the user's guide, I am getting confused when they are talking about mapping to cores.

Using that hardware above, lets say I have a model with 4 meshes.  Should I be doing an MPI thread per core, i.e.:

Open MP Threads: 1
Open MP Threads MPI: 4
Open MP Stack: 200M

Or should I be doing 1 mpi thread per physical CPU and 1 OpenMP thread per core of that cpu? i.e.:

Open MP Threads: 4
Open MP Threads MPI: 1
Open MP Stack: 200M

Is MPI supposed to be per core available (parallel or cluster, whatever's linked), or per CPU? 

If there's one MPI per core, I should try to get my # of meshes to match the # of cores available, right? (with exceptions for dense meshes and distribution, understandably) Or is the OpenMP Thread supposed to match the # of cores?

If I double the CPU's on the machine to 2 physical CPU's, each with 4 cores (8 cores total), would it then be 8 MPI processes?

Any insight that can be offered is appreciated!