MPI_Reduce не будет отправлять минимальную позицию из моего массива - PullRequest
0 голосов
/ 10 января 2019

Точно, каков мой вопрос! Ниже - мой код, я не знаю почему, он передает данные min, но не позицию, как сказано в руководстве MPI_Reduce!

//where b is an array with N data, int //and min and array with 2 data, int MPI_Reduce(b, min, 1, MPI_2INT, MPI_MINLOC,0, MPI_COMM_WORLD); if(rank==0){ printf("MIN from B table is =%d\n",min[1]); printf("Position of minimum =%d\n",min[0]); }<br>

1 Ответ

0 голосов
/ 10 января 2019

MPI_MINLOC не возвращает местоположение минимума, но значение второго элемента структуры, где найден минимум первого.

Кроме того, если вы используете count=1, будет использоваться только первая пара b.

Если вы считаете, что используете его правильно, обновите свой вопрос, указав Минимальный, полный и проверяемый пример

...