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
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.
Non sono più familiare con OpenMPI ma MPI ha una funzione MPI_Get_Version, per favore controlla il tuo mpi.h per funzioni simili.
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. –
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
Come spiegato nel this tutorial, si può anche controllare la versione MPI eseguendo il comando:
mpiexec --version
o
mpirun --version
nel terminale.
- 1. Controlla la versione mySQL su Mac 10.8.5
- 2. Controlla la versione del driver php MongoDB
- 3. In posto mpi_reduce si blocca con OpenMPI
- 4. Come si controlla la versione gemella in Ruby in fase di esecuzione?
- 5. OpenMPI Riduci l'uso di MINLOC
- 6. Controlla la versione Ansible dall'interno di una playbook
- 7. Come forzare OpenMPI ad usare GCC invece di ICC? È necessario ricompilare OpenMPI?
- 8. In ES6, come si controlla la classe di un oggetto?
- 9. Selenio, come si controlla la posizione di scorrimento
- 10. Come si controlla quale versione di un file msbuild viene utilizzata tra .NET4 e 4.5RC?
- 11. Come si esegue una versione di un'app Web mentre si sviluppa la versione successiva?
- 12. Come si controlla la dimensione della carta PDF con ImageMagick?
- 13. Come si controlla se la lista è vuota?
- 14. Come si controlla uno scalare in R?
- 15. Come si controlla se esiste Record
- 16. immidiate vs comunicazione sincrona in openmpi
- 17. Come si trova la versione dell'Assembly del programma di chiamata?
- 18. Come verificare la versione di java quando si esegue gradle?
- 19. Come si esegue correttamente la versione di un programma?
- 20. Come si verifica/verifica la versione di Kivy?
- 21. Come si modifica la versione di Rails su un Mac?
- 22. Come si imita la versione Microsoft di __FUNCTION__ utilizzando gcc?
- 23. Come si imposta automaticamente la versione di assemblaggio durante la costruzione notturna?
- 24. Esecuzione del programma OpenMPI senza mpirun
- 25. Cruisecontrol si blocca quando si controlla SVN per le modifiche
- 26. Come si controlla il successo di open (file) in Perl?
- 27. Differenze tra LAM MPI e OpenMPI
- 28. Controlla se la finestra si trova sul desktop corrente?
- 29. Come si controlla il tipo di una variabile locale?
- 30. In che modo una versione controlla la configurazione di un progetto TeamCity?
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