Является ли все, что вы хотите сделать, узнать максимальную запись в матрице (или в пределах части матрицы)?
Если это так, самый простой способ для вас, вероятно, разделить матрицу на различные процессы.найдите максимальное значение в части, которой назначен каждый процесс, а затем сравните их, используя MPI_Allreduce
, который может отправить максимальное значение переменной, имеющей разные значения в каждом процессе, всем процессам.
Неважно, имеете ли вы дело с целой матрицей или просто столбцом, этот метод, конечно, всегда можно применить.Вам просто нужно подумать о хорошем способе разделения области на различные процессы
Конечно, это ускорит ваши вычисления только с определенного размера матрицы и выше.Я предполагаю, что если вы имеете дело с матрицей 10 x 10 и хотите разделить ее на 3 процесса, накладные расходы для MPI больше, чем выигрыш от распараллеливания.:)