Нет, MPI_Reduce()
неявно не выполняет MPI_Barrier()
.
При этом MPI_Allreduce()
(с данными ненулевого размера) выполняет неявное MPI_Barrier()
, так что это может быть подгонка для вашего алгоритма.
Я не совсем уверен, что вы подразумеваете под MPI_Barrier()
- дорогостоящая операция . Предполагая, что у вас есть приличное соединение, сам барьер должен быть довольно быстрым, и большая часть времени должна быть вызвана дисбалансом процесса.