Stack Exchange
MPI.exe вызвал срабатывание точки останова
Вот пример программы:
Ошибка: MPI.exe вызвал срабатывание точки останова.
#include <stdio.h> 
#include "mpi.h"
#include "conio.h"
int main(int argc, char* argv[]) { 
    int Size, Rank, nNext;
    int dResult = 1;
    MPI_Status cStatus;
    MPI_Init(&argc, &argv);

    MPI_Comm_size(MPI_COMM_WORLD, &Size);
    MPI_Comm_rank(MPI_COMM_WORLD, &Rank);

    // Приём и обработка данных от предыдущего процесса
    if (0 < Rank) {
        MPI_Recv(&dResult, 1, MPI_DOUBLE, MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_WORLD,&cStatus);
        dResult += 1.;
        printf("Rank: %d, result: %lf\n", Rank,dResult);
    }

    nNext = (Rank + 1) % Size;
    MPI_Send(&dResult, 1, MPI_DOUBLE,nNext, 99, MPI_COMM_WORLD);

    if (Rank == 0) {
        MPI_Recv(&dResult, 1, MPI_DOUBLE, Size-1, MPI_ANY_TAG, MPI_COMM_WORLD, &cStatus);
        dResult += 1;
        printf("Rank: %d, final result: %d\n", Rank, dResult);
    } // if (0 == nRank)

    MPI_Finalize();
    getch();
}

При запуске через MPI через консоль ничего не выводит тоже.

dResult типа int, а MPI_Recv пишет в нее double.
sizeof( int ) < sizeof( double )
Может, подразумевалось MPI_INT вместо MPI_DOUBLE?

Все равно проблема не исчезла

"MPI.exe вызвал срабатывание точки останова". Так может и смотреть на mpi.exe? Как Вы запускаете программу?
