Простой код с использованием MPI. При сборке в релиз отладка останавливается в указанном месте на ветке else. Сборку можно продолжить, вроде собирается без ошибок.
Для запуска использую команду из CMD: mpiexec -n 2 Test.exe > out.txt
В файл всё выводится так, как должно. Но из-за чего может происходить остановка? Что не так?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include "mpi.h"
int main(int argc, char* argv[])
{
int rank;
MPI_Status st;
auto *buf = new char [64];
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
if (rank == 0)
{
sprintf(buf, "Hello from process 0");
MPI_Send(buf, 64, MPI_CHAR, 1, 0, MPI_COMM_WORLD);
}
else
{
MPI_Recv(buf, 64, MPI_CHAR, 0, 0, MPI_COMM_WORLD, &st);
printf("Process %d received %s \n", rank, buf);
};
MPI_Finalize();
return 0;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости