0

Can anyone tell me what the btl_vader_single_copy_mechanism argument corresponds to when running the mpiexec command?

Thanks in advance

Watin
  • 1
  • Different mechanism can be used by Open MPI to improve inter node communication, and this parameter is an option to choose the desired one. FWIW, some mechanism requires adhoc kernel modules that might not be available on the compute node, and/or permissions that are not available by default when running inside a (docker) container. – Gilles Gouaillardet May 25 '22 at 09:47
  • Thanks for your answer. I use docker to execute HPC task and i need to enter this argument to run the script. So the communication between docker and my host don't have the same communication method ? – Watin May 26 '22 at 10:06
  • IIRC by default, docker drops a capability that allow a process to directly write into an other process memory (and that is generally used by `btl/vader` out of the box). I guess this is why you need `--mca btl_vader_single_copy_mechanism none` to make it work. – Gilles Gouaillardet May 26 '22 at 11:58
  • Yes it's exactly this argument i need to add to run my script This argument decrease performance ? i see this on another forum – Watin May 26 '22 at 20:50
  • Yes, because two copies become necessary in a send/recv "pair", that is why single copy mechanism should be preferred when available. – Gilles Gouaillardet May 26 '22 at 23:10
  • Thanks, just a last question, in this case because disabled single copy, it's another way to avoid losing performances ? – Watin May 27 '22 at 08:51
  • you lose performance by disabling single copy, but because of the restrictions imposed by docker (at least out of the box) single copy cannot work and has to be manually disabled. – Gilles Gouaillardet May 27 '22 at 11:02
  • Perfect, thanks you for your explaination – Watin May 27 '22 at 13:58

0 Answers0