0

I'm currently working on a research that involves oversubscribing MPI applications to check how big of a hit in performance it causes. Long story short: i need to run an application compiled for, let's say, 32 nodes (-np 32) on 16 cores, even though my machine has 32 cores.

I have tried setting the number of slots available on the hostfile (i.e.: localhost:16) but mpich still uses all the 32 cores.

Is it possible to force MPICH to do that?

PS: I'm using Nas Parallel Benchmarks and the host runs Ubuntu 14.04

  • @VladimirF As i said in the above question, i'm working with oversubscribing (allocating more than one process per core). If i run with -n 16, there is no oversubscribing because mpich will only spawn 16 processes and use 16 cores. – Luis Carlos Jersak Oct 19 '16 at 22:20
  • You mean you want to run 32 processes and limit them on just 16 cores out of 32 cores? I think you might have written it more clearly, the compiled for confused me, you don't normally compile for fixed `n`. Just use CPU affinity. – Vladimir F Героям слава Oct 19 '16 at 22:23
  • Examine the `-bind-to` in the manual and see http://stackoverflow.com/a/33705355/721644 – Vladimir F Героям слава Oct 19 '16 at 22:25

0 Answers0