2015-07-10 11 views
6

Recentemente ho installato OpenMPI sul mio computer e quando si tenta di eseguire un semplice programma Ciao Mondo, esce con la prossima errore:Open MPI - mpirun esce con l'errore sul programma semplice

------------------------------------------------------- 
Primary job terminated normally, but 1 process returned 
a non-zero exit code.. Per user-direction, the job has been aborted. 
------------------------------------------------------- 

Questa è la il codice sorgente del programma:

#include <mpi.h> 
#include <stdio.h> 

int main(int argc, char *argv[]) 
{ 
    int size, rank; 

    MPI_Init(&argc, &argv); 
    MPI_Comm_size(MPI_COMM_WORLD, &size); 
    MPI_Comm_rank(MPI_COMM_WORLD, &rank); 

    printf("Hello\n"); 

    MPI_Finalize(); 

    return 0; 
} 

Questo è come mi compilare il programma:

mpicc -o hello hello.c 

e ho eseguirlo con

mpirun -np 2 hello 

getta nessun errore su di compilazione, e se corro ./hello, funziona bene.

Scusa il mio inglese, eventuali correzioni saranno ben accette.

+4

Assicurarsi che si sta utilizzando la stessa distribuzione MPI (OpenMPI, MPICH, MVAPICH) e la versione per la compilazione con 'mpicc' e l'esecuzione del programma' mpirun '. Il tuo errore potrebbe essere causato da una mancata corrispondenza nella versione e/o distribuzione. – Patrick

+0

Ho scaricato e installato l'ultima versione stabile di OpenMPI. Prima dell'installazione, non avevo nessuna versione di MPI installata – fenusa0

+0

controllare i valori di ritorno. –

risposta

0

Prova:

mpirun -x LD_PRELOAD=libmpi.so -np 2 hello 

Se funziona, probabilmente hanno un problema con l'installazione OpenMPI. Una soluzione semplice sarebbe quella di definire un alias. Se l'uso ou bash, aggiungere ~/.bashrc:

alias mpirun='mpirun -x LD_PRELOAD=libmpi.so'