Я недавно начал пытаться изучать MPI для кодирования на C. Я пытаюсь писать очень маленькие тестовые коды, чтобы быть уверенным, что я знаю, что я делаю, в процессе работы. К сожалению, у меня, похоже, есть проблема с одним из них, который умножает матрицу на вектор и выводит результирующий вектор. В частности, когда я звоню:
MPI_Reduce(c, myc, 3, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD);
где myc - это часть вектора, которая рассчитывается каждым процессором, мой окончательный результат - c [i] = 0 для всех i. Код, который вычисляет myc, правильный (проверяется с использованием одного процессора и выводит myc вместо c). Я предполагаю, что я делаю что-то очень глупое, но не могу понять, что.