Note sulla versione di Microsoft MPI
Questo documento contiene le note sulla versione per le versioni correnti di Microsoft MPI (MS-MPI) per Windows.
MS-MPI v10.1.3 (giugno 2023)
MS-MPI v10.1.3 include i miglioramenti e le correzioni seguenti. Scaricare MS-MPI v10.1.3 dall'Area download Microsoft.
- Correzione per l'assegnazione di affinità ai processi di lavoro mpi in Windows 11 e Windows Server 2022. In queste affinità dei sistemi operativi vengono assegnate tramite set di CPU e non tramite le maschere di affinità.
MS-MPI v10.1.3 SDK è disponibile anche in nuget.
MS-MPI v10.1.2 (novembre 2019)
MS-MPI v10.1.2 include i miglioramenti e le correzioni seguenti. Scaricare MS-MPI v10.1.2 dall'Area download Microsoft.
- Eseguibili di benchmark firmati
- File binari compilati per soddisfare i requisiti di APIScan
MS-MPI v10.1.2 SDK è disponibile anche in nuget.
MS-MPI v10.1.1 (settembre 2019)
MS-MPI v10.1.1 include i miglioramenti e le correzioni seguenti. Scaricare MS-MPI v10.1.1 dall'Area download Microsoft.
- Argomenti di supporto passati a MsmpiLaunchSvc
- Correggere il bug nell'analisi delle virgolette doppie mpiexec
- Correzione per le annotazioni SAL
- Aggiungere l'opzione per il programma di installazione msmpi da disinstallare da una riga di comando
- Correzione per la rappresentazione integer non conforme nel file di intestazione mpif che comporta errori con gfortran
MS-MPI v10.1.1 SDK è disponibile anche in nuget.
MS-MPI v10.0 (ottobre 2018)
MS-MPI v10.0 include i miglioramenti e le correzioni seguenti. Scaricare MS-MPI v10.0 dall'Area download Microsoft.
Supportare tutte le operazioni RMA
Supporto per l'uso di più gruppi di processori
Includere benchmark IMB-MPI1 e IMB-NBC
Aggiungere l'opzione in mpiexec/smpd per reindirizzare i log
Rimuovere intrinseci/tipi non standard per supportare l'utilizzo con MinGW/gFortran
Correzione di un bug nella creazione del dump principale
Correggere un bug in modalità MPI_THREAD_MULTIPLE
Correzione di un bug in MSMPILaunchSvc che impedisce il salvataggio delle credenziali
MS-MPI v10.0 SDK è disponibile anche in nuget.
MS-MPI v9.0.1 (marzo 2018)
MS-MPI v9.0.1 include i miglioramenti e le correzioni seguenti. Scaricare MS-MPI v9.0.1 dall'Area download Microsoft.
Correzione di un bug nel codice mpiexec che causa un deadlock durante l'avvio nei sistemi Windows 7.
Correzione di un bug che impedisce a smpd di generare processi in tutti i gruppi di processori.
Correzione per i valori restituiti per MPI_Win_Get_Attr per la finestra dinamica.
Correzione di un bug durante la creazione di named pipe in smpd.
MS-MPI v9.0 (febbraio 2018)
MS-MPI v9.0 include le nuove funzionalità, i miglioramenti e le correzioni seguenti.
Supporto per MPI_Win_allocate.
Supporto per MPI_Win_create_dynamic, MPI_Win_attach e MPI_Win_detach.
Supporto per MPI_Win_flush.
Supporto per MPI_NO_OP.
Supporto parziale per MPI_Rput, MPI_Rget e MPI_Raccumulate.
Bug nella segnalazione errori RMA.
Bug in MS-MPI v7 e v8 che causa il deadlock in MPI_Finalize in determinate condizioni.
MS-MPI v9.0 SDK è disponibile anche in nuget.
MS-MPI v8.1 (giugno 2017)
MS-MPI v8.1 include le nuove funzionalità, i miglioramenti e le correzioni seguenti.
Supporto per MPI_Comm_spawn e MPI_Comm_spawn_multiple.
Supportare gli argomenti della riga di comando Unicode mpiexec e la riga di comando delle applicazioni.
Supporto del fallback a NTLM per i requisiti di sicurezza del runtime MS-MPI.
Supportare più gruppi di processori quando si esegue il daemon smpd o il servizio di avvio MS-MPI.
Bug in MS-MPI v8 che potrebbe causare arresti anomali a causa dell'overflow quando si usano i collettivi.
Bug in MS-MPI v8 che potrebbe causare un deadlock in MPI_Alltoallv.
Bug in MS-MPI v8 che causa un comportamento indefinito quando si gestiscono file di grandi dimensioni.
MS-MPI v8.1 SDK è disponibile anche in nuget.
MS-MPI v8 (gennaio 2017)
MS-MPI v8 include le nuove funzionalità, i miglioramenti e le correzioni seguenti.
Supporto completo per tutti i gruppi non bloccanti.
Supporto per MPI_Reduce_scatter_block.
Miglioramento delle prestazioni per MPI_Alltoallv e MPI_Alltoallw.
Bug in MS-MPI v7 che causa informazioni mancanti nell'origine evento per il servizio di avvio MSMPI
Bug in MS-MPI v7.1 che causa un blocco nel servizio di avvio MSMPI.
Un bug in MS-MPI v7 che può comportare una stringa di porta non valida restituita da MPI_Open_port.
MS-MPI v8 SDK è disponibile anche in nuget.
MS-MPI v7.1 (giugno 2016)
MS-MPI v7.1 include i miglioramenti e le correzioni più importanti seguenti a MS-MPI v7.
Il programma di installazione è ora più resiliente e non avrà esito negativo quando le disinstallazioni precedenti non hanno eseguito correttamente la pulizia del Registro di sistema.
È stato risolto un bug in MS-MPI v7 che causa l'esito negativo dei processi quando un numero elevato di processi MPI viene eseguito simultaneamente nello stesso set di nodi.
L'autenticazione esegue automaticamente il fallback a NTLM se l'autenticazione Kerberos non riesce in un ambiente con supporto Kerberos parziale o non configurato correttamente.
mpiexec supporta i caratteri Unicode nella riga di comando e non ha più un limite hardcoded per la lunghezza della riga di comando. È supportata anche la notazione percorso lungo (\\?\).
MS-MPI v7.1 SDK è disponibile anche in nuget.
MS-MPI v7 (novembre 2015)
MS-MPI v7 è il successore di MS-MPI v6. Scaricare MS-MPI v7 dall'Area download Microsoft.
Nuove funzionalità
MS-MPI v7 include le nuove funzionalità, i miglioramenti e le correzioni seguenti.
Supporto per operazioni collettive aggiuntive non bloccate: MPI_Iallreduce, MPI_Iscatter, MPI_Iallgather, MPI_Iscatterv e MPI_Igatherv. Oltre ai MPI_Ibcast, MPI_Ireduce, MPI_Igather e MPI_Ibarrier già supportati.
Supporto per la configurazione dell'intervallo di porte per le connessioni di rete diretta tramite la variabile di ambiente MSMPI_ND_PORT_RANGE
Gestione dei processi rinnovata (mpiexec/smpd) per migliorare l'affidabilità e le prestazioni
Miglioramenti delle prestazioni per le operazioni collettive
Servizio di avvio MPI : MS-MPI v7 introduce il servizio di avvio MS-MPI, che consente l'avvio di processi MPI per computer locali e remoti con credenziali fornite dall'utente. Il pacchetto ridistribuibile MS-MPI installa il servizio di avvio MS-MPI in modalità manuale. Per avviare il servizio, eseguire il comando seguente:
sc start MSMPILaunchSvc [options]
Queste sono le opzioni che è possibile passare al servizio di avvio all'avvio del servizio:
-p | -port <-> Modificare la porta su cui è in ascolto il servizio di avvio.
-g | -group group <name> : consente solo ai membri del gruppo specificato di eseguire applicazioni MPI. Se non specificato, l'impostazione predefinita è gli utenti autenticati.
Nuove opzioni mpiexec per il servizio di avvio : sono disponibili due nuove opzioni per mpiexec (-pwd e -savecreds) che consentono di fornire le credenziali necessarie per l'avvio dei processi tramite il servizio di avvio. L'opzione -pwd consente di specificare la password per l'invio di utenti in scenari non interattivi, ad esempio usando uno script o un'attività pianificata. In questo caso la password viene specificata in testo non crittografato. L'opzione -savecreds determina l'archiviazione sicura delle credenziali specificate con -pwd in tutti gli host specificati nella riga di comando mpiexec.
Ad esempio, il comando seguente richiederà la password dell'utente e chiederà all'utente se vuole archiviarlo nei computer specificati host1 e host2, quindi avviare tre processi, uno in host1 e due in host2:
mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests mpiapp.exe [parameters]
Come altro esempio, il comando seguente autentica l'utente usando la password fornita, lo archivia nei computer specificati host1 e host2, quindi avvia tre processi, uno in host1 e due in host2:
mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests -pwd <password> -savecreds mpiapp.exe [parameters]
Dopo aver eseguito mpiexec con l'opzione -savecreds in un set di nodi, non è necessario specificare la password nelle esecuzioni successive per tali nodi, a meno che la password non venga modificata. Se l'utente è in esecuzione in modalità interattiva, mpiexec richiede la password se il servizio di avvio è in esecuzione e la password non è stata specificata o salvata in precedenza con l'opzione -savecreds .
Compatibilità di HPC Pack
MS-MPI v7 è compatibile con HPC Pack 2012 R2 e versioni successive. Se si esegue una versione compatibile di HPC Pack con una versione precedente di MS-MPI, è possibile aggiornare MS-MPI a v7.
MS-MPI v6 (maggio 2015)
MS-MPI v6 è il successore del pacchetto ridistribuibile MS-MPI v5 (rilasciato a novembre 2014).
Nuove funzionalità
MS-MPI v6 include le nuove funzionalità, i miglioramenti e le correzioni seguenti.
Operazioni collettive non bloccate , tra cui MPI_Ibcast, MPI_Ireduce, MPI_Igather e MPI_Ibarrier.
Supporto dell'affinità multi-processo in modo che più processi MPI affini possano coesistere in un singolo computer senza sovrapporre i core in cui vengono eseguiti. Il runtime MPI rileva ora che sono presenti processi aggiunti ai core e avvierà i processi successivi nei core che non sono attualmente in uso.
La funzionalità viene esposta come nuova opzione a mpiexec (-affinity_auto o –aa) ed è progettata per funzionare sia in utilità di pianificazione dei processi, ad esempio Microsoft HPC Pack che in modalità SDK autonoma.
Ad esempio, per eseguire due processi core a 8 core in un singolo computer a 16 core, è possibile usare la riga di comando seguente:
mpiexec –cores 8 –affinity_auto –affinity_layout sequential myapp.exe
ompiexec –c 8 –aa –al seq myapp.exe
Supporto per le applicazioni multithread abilitando l'uso di MPI_THREAD_MULTIPLE quando si chiama MPI_Init_thread. Questa funzionalità è progettata per consentire alle applicazioni ibride di usare OMP o altri modelli di threading per sfruttare più facilmente il runtime MPI.
Il server minimo supportato per questa funzionalità è Windows Server 2012. Il client minimo supportato per questa funzionalità è Windows 8.
Nuove funzionalità dellostandard MPI 3.0 , tra cui:
- Supporto per MPI_Mprobe, MPI_Mrecv, MPI_Improbe e MPI_Imrecv
- Supporto per MPI_COUNT, per consentire la corretta rappresentanza di tipi di dati di grandi dimensioni nelle strutture di MPI_STATUS
- Supporto per MPI_Type_create_hindexed_block
- Supporto per MPI_Dist_graph_create, MPI_Dist_graph_create_adjacent, MPI_Dist_graph_neighbors e MPI_Dist_graph_neighbors_count
Compatibilità di HPC Pack
MS-MPI v6 è compatibile con HPC Pack 2012 R2 e versioni successive. Se si esegue una versione compatibile di HPC Pack con una versione precedente di MS-MPI, è possibile aggiornare MS-MPI alla versione 6.
Modifiche alle impostazioni predefinite
MS-MPI v6 modifica le impostazioni predefinite mpiexec seguenti:
- MSMPI_ND_ZCOPY_THRESHOLD è impostato su -1, disabilitando zcopy. Può essere riabilitabile impostando MSMPI_ND_ZCOPY_THRESHOLD=0 nella riga di comando mpiexec o tramite cluscfg setenvs (se si usa Microsoft HPC Pack).
- MSMPI_HA_COLLECTIVE è impostato su tutti, abilitando i collettivi gerarchici per impostazione predefinita. Questa opzione può essere disabilitata impostando MSMPI_HA_COLLECTIVE=off, anche in questo caso tramite la riga di comando mpiexec o esternamente.
Funzionalità deprecate
La funzionalità di ottimizzazione automatica predefinita in questa versione viene deprecata con l'intenzione di spostare il tuner automatico in un'utilità separata in una versione futura.