В рамках MPI реализовать механизм сборки данных в соответствии со следующими положениями:
- Каждый процесс владеет некоторым собственным набором данных одного и того же типа. Данные хранятся в памяти процесса в виде линейного массива (это может быть символьный массив с сообщением типа “Привет от процесса номер такой-то”).
- Необходимо собрать наборы данных со всех процессов на нулевой процесс с сохранением их на нем в виде двумерного динамического массива: данные i-го процесса помещаются в i-ю строку массива. Важно!
- Организацию сборки данных необходимо выполнить, исходя из предположения о том, что количество данных на каждом процессе может быть различным. При этом 0-процесс для получения и размещения данных от i-го процесса должен выделить ровно столько памяти (под i-ю строку массива), сколько для этого необходимо.
- С целью уменьшения времени простоев данные от процессов необходимо собирать по мере их готовности (поступления), а не в порядке нумерации процессов.