Я использую ту же самую операцию (первый код), описанную здесь [1].Сколько раз операция сокращения, вызванная MPI_Reduce?
MPI_Reduce(local, global, 1, mpi_datatype, mpi_selectop, 0, MPI_COMM_WORLD);
Я видел, что MPI_Reduce вызывается р-1 число процесса в коммуникаторе, но это неверно для других функций, таких как уменьшить MPI_ALLREDUCE.
1Q - Есть ли шаблон, чтобы узнать, сколько раз созданная операция вызывается MPI_Reduce?
2Q - Есть ли способ уменьшить количество вызовов MPI_Reduce только на один процесс (root), но с входными входами всего процесса?
Я хочу, чтобы вектор, отсортированный по размеру (k), был привязан к вектору global, но с использованием структуры минимальной кучи (количество размеров процесса), поэтому для каждой итерации первое значение записывается на вывод – realbas