Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

Which logical core does MPI background threads are pinned?

seongyun_k_
Beginner
1,222 Views

I program in C++ which parallelizes using both MPI and OpenMP (1 MPI process per machine, Multiple threads are exploited by each MPI process)

I carefully pin the worker threads of OpenMP and others in my application. I know that MPI spawns some background threads for its internal uses. But I don't know to which logical cores the threads are attached.

How can I find and control it?

Thanks

0 Kudos
2 Replies
TimP
Honored Contributor III
1,222 Views
I doubt there's an answer which holds for all mpi. Normally it's sufficient to pin your openmp threads 1 per core. In the special case of Mic knc you would likely want to leave core 0 open for mpss and mpi data moves.
0 Kudos
Dmitry_S_Intel
Moderator
1,222 Views

For Intel(R) MPI Library is uses helper threads in cases of

- I_MPI_ASYNC_PROGRESS=enable (pinning controls for helper threads are I_MPI_ASYNC_PROGRESS_PIN)
https://software.intel.com/en-us/node/561772

- I_MPI_MT_MEMCPY=enable (MPI rank thread mask is used)
https://software.intel.com/en-us/node/528848

But additional helper threads may be created by lower level libraries (libfabric, PSM, etc)

--

Dmitry

0 Kudos
Reply