2012-04-07 26 views
11

Sto compilando il mio codice su un server che ha OpenMPI, ma ho bisogno di sapere quale versione sono attiva in modo da poter leggere la documentazione corretta. C'è una costante in <mpi.h> che posso stampare per visualizzare la mia versione corrente?Come si controlla la versione di OpenMPI?

risposta

11

Con OpenMPI, la cosa più semplice da fare è eseguire ompi_info; le prime righe ti daranno le informazioni che desideri. Nel tuo codice personale, se non ti interessa qualcosa di specifico di OpenMPI, puoi utilizzare OMPI_MAJOR_VERSION, OMPI_MINOR_VERSION e OMPI_RELEASE_VERSION in mpi.h. Questo ovviamente non funzionerà con MPICH2 o altre implementazioni MPI.

Più in generale, come parte di MPI-3, ci sarà una routine MPI standard chiamata MPI_Get_library_version che fornisce informazioni dettagliate sulla libreria in fase di esecuzione. Questo è abbastanza piccolo e utile che le versioni più recenti delle implementazioni di MPI avranno questo molto rapidamente - per esempio è nel trunk di sviluppo di OpenMPI 1.7 - ma non ti aiuta davvero oggi.

+0

Questo è esattamente quello che stavo cercando. MPI_Get_version (* int, * int) ti consente di sapere a quale versione dello standard MPI OpenMPI aderisce, non la versione attuale di OpenMPI. – Zak

3

Non sono più familiare con OpenMPI ma MPI ha una funzione MPI_Get_Version, per favore controlla il tuo mpi.h per funzioni simili.

+0

Questo è un inizio, ma fornisce solo la versione dello standard a cui è conforme la libreria MPI; Ad esempio, la maggior parte delle implementazioni di MPI oggi restituirà 2 e 1 (o 0) per le versioni principali/secondarie, ma non consente di distinguere tra (diciamo) OpenMPI 1.4.4 e OpenMPI 1.5.3. Il primo è certamente importante quando si scrive codice, ma quest'ultimo tipo di informazioni può essere piuttosto importante se si sta tentando di risolvere un problema di implementazione o configurazione. –

+0

Grazie per questo commento, le informazioni restituite da MPI_Get_version (* int, * int) accoppiato con il sito web MPI http://www.mpi-forum.org/docs/ è la chiave per un'infinità di informazioni! – Zak

1

Come spiegato nel this tutorial, si può anche controllare la versione MPI eseguendo il comando:

mpiexec --version 

o

mpirun --version 

nel terminale.

Problemi correlati