Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2294 Discussions

IntelMPI, MPI_THREAD_MULTIPLE performance

VladDE
Beginner
572 Views

I have the next problem: MPI Library, Version 2021.16, initialized with MPI_THREAD_MULTIPLE successfully.

After initialization, create multiple communicators 20, and then create sequentially 20 threads and assign one communicator from previously created. Before assigning communicator& running thread, Barrier() is called. Every thread is doing blocking staff... e.g. Probe(MPI::ANY_SOURCE,....

Now the problem is that Barrier call starts hanging after a number of created threads, e.g.

8 threads are running, the 9th Barrier call hangs, inside 

_lll_lock_wai

_pthread_mutex_lock

MPIDI_Progress_test

MPID_Probe

If the threads are not running, Barrier calls are fast.

It seems that separate communicator from threads somehow influence on the Barrier call? Is there some global lock?

Running the same with MPI2018 version works correctly

Thanks

 

0 Kudos
0 Replies
Reply