MPI_REDUCE динамически вычисляемый массив

Я пытаюсь использовать MPI_REDUCE в C (или С++), чтобы найти минимум (и индекс) в массиве. У меня это работает для обычного массива, но теперь я хочу переключиться на тот, в котором значение вычисляется динамически. то есть значение arr[n] вычисляется путем вызова fun(n). Из-за проблем с памятью я не могу вычислить все значения и поместить их в обычный массив.

Как я могу этого добиться?

Заранее спасибо,


person Hernan    schedule 02.06.2012    source источник


Ответы (1)


Для создания пользовательская операция MPI: в вашем случае эта операция будет сравнивать значения, полученные путем вызова fun() для каждого элемента массива, и выбирать минимум. Затем вы можете использовать эту пользовательскую операцию в аргументе Op функции MPI_Reduce().

person suszterpatt    schedule 02.06.2012