<div dir="ltr">Dear gromacs developers,<div><br></div><div style>analyzing a hunging replica exchange simulation, I might have figured out a problem (likely a bug).</div><div><br></div><div>Let&#39;s suppose I am running replica exchange with -maxh, -replex 50 and neighbour searching frequence = 5 steps . </div>
<div><br></div><div style>If I well understood, once the code run for maxh*0.99 it stops at the next neighbour searching step.</div><div style><br></div><div style>If the program reaches maxh*0.99 let&#39;s say at the step 50, the next neighbour searching step is the 55. But if 2 replicas exchange at step 50, it implies rebuilding the neighbour searching </div>
<div style>( because in the code bExchanged=TRUE implies bNS to be TRUE). </div><div style><br></div><div style>These two replicas so stop at step 51 but the other replicas continue until the 55th step. </div><div style>Here the problem appears. In this case mdrun performs global communication calling compute_global next to the line commented as:</div>
<div style> /* ############## IF NOT VV, Calculate globals HERE, also iterate constraints  ############ */<br></div><div style><br></div><div style>Since the 2 replicas that exchanged already ended, mdrun hungs.</div><div style>
<br></div><div style>Maybe my analysis is incorrect and in this case I apologize.</div><div style>In any case, if nobody did, I am looking for a fix.</div><div style><br></div><div style>Francesco</div><div style><br></div>
<div style><br></div></div>