Я пытаюсь написать параллельный код на C ++, используя MPI, однако я знаю только, как распределить память с помощью команд C, например, malloc / calloc. Цель состоит в том, чтобы работать с матрицей тождества и разложить ее среди процессов MPI.
Идентификационная матрица создается в локальной рабочей области, а затем отправляется с локального номера на ранг 0. Для печати.
Куски кодов, которые я пробовал:
Выделение памяти с использованием языка C:
// N is the matrix size (N x N)
int* A=( int* )calloc( local_N*N, sizeof(int) );
typedef int row[N];
row *mat;
/* Dividing the number of rows to each processor*/
int n = N / size;
mat = (row *) malloc(n * sizeof(row));
Распределение памяти с использованием языка C ++:
int** matrix = new int *[row];
Мне удается работать на языке программирования C, как бы я ни хотел переписать код для C ++.