<div dir="ltr"><div>Hello everyone,</div><div><br></div><div>I got one question regarding the multi-VCI support and possible locking contentions of MPICH on multi-threaded environments.</div><div><br></div><div>I understand that there is a direct mapping between a VCI and a communicator, so global locking is avoided on a multi-threaded application. But I wanted to know: how do these VCIs work? When I have N VCIs, do I have N virtual channels per rank (thus, one global lock per VCI-rank pair) or only 2 channels at all (one lock per VCI)? I was wondering if, for example, two MPI_Sends targeting different ranks on the same comm might need to be synchronized using such a global lock.<br></div><div><br></div><div>Thanks for the help!</div><div>Guilherme Valarini</div></div>