Fix random deadlock during ncclCommInitRank.
diff --git a/src/core.cu b/src/core.cu
index 6adeb36..cec2794 100644
--- a/src/core.cu
+++ b/src/core.cu
@@ -188,7 +188,7 @@
swapped = __sync_bool_compare_and_swap(&gather->bar, bar_tmp, bar_tmp+1);
} while(!swapped);
- while (gather->bar != 2*ndev) // Wait for all ranks to arrive at this second barrier
+ while (gather->bar < 2*ndev) // Wait for all ranks to arrive at this second barrier
sched_yield();
__sync_synchronize();
@@ -203,7 +203,7 @@
swapped = __sync_bool_compare_and_swap(&gather->bar, bar_tmp, bar_tmp+1);
} while(!swapped);
- while (gather->bar != 3*ndev) // Wait for all ranks to arrive at this third barrier
+ while (gather->bar < 3*ndev) // Wait for all ranks to arrive at this third barrier
sched_yield();
__sync_synchronize();