Notas sobre a versão do Microsoft MPI
Este documento contém as notas de versão para as versões atuais do Microsoft MPI (MS-MPI) para Windows.
MS-MPI v10.1.3 (junho de 2023)
MS-MPI v10.1.3 inclui as seguintes melhorias e correções. Baixe o MS-MPI v10.1.3 no Centro de Download da Microsoft.
- Correção para atribuir afinidades a processos de trabalho mpi no Windows 11 e no Windows Server 2022. Essas afinidades de OSes estão sendo atribuídas por meio de conjuntos de CPU e não por meio de máscaras de afinidade.
O SDK do MS-MPI v10.1.3 também está disponível no nuget.
MS-MPI v10.1.2 (novembro de 2019)
O MS-MPI v10.1.2 inclui as seguintes melhorias e correções. Baixe o MS-MPI v10.1.2 no Centro de Download da Microsoft.
- Executáveis de parâmetro de comparação assinados
- Binários criados para atender aos requisitos da APIScan
O SDK do MS-MPI v10.1.2 também está disponível no nuget.
MS-MPI v10.1.1 (setembro de 2019)
MS-MPI v10.1.1 inclui as seguintes melhorias e correções. Baixe o MS-MPI v10.1.1 no Centro de Download da Microsoft.
- Argumentos de suporte passados para MsmpiLaunchSvc
- Corrigir o bug na análise de aspas duplas mpiexec
- Correção para anotações de SAL
- Adicionar opção para o instalador msmpi desinstalar de uma linha de comando
- Correção para representação de inteiro não compatível no arquivo de cabeçalho mpif, levando a erros com gfortran
O SDK do MS-MPI v10.1.1 também está disponível no nuget.
MS-MPI v10.0 (outubro de 2018)
MS-MPI v10.0 inclui as seguintes melhorias e correções. Baixe o MS-MPI v10.0 no Centro de Download da Microsoft.
Dar suporte a todas as operações de RMA
Suporte para utilização de vários grupos de processadores
Incluir parâmetros de comparação IMB-MPI1 e IMB-NBC
Adicionar opção em mpiexec/smpd para redirecionar logs
Remover intrínsecos/tipos não padrão para dar suporte ao uso com MinGW/gFortran
Corrigir um bug na criação do despejo de núcleo
Corrigir um bug no modo MPI_THREAD_MULTIPLE
Corrigir um bug no MSMPILaunchSvc que impede salvar credenciais
O SDK do MS-MPI v10.0 também está disponível no nuget.
MS-MPI v9.0.1 (março de 2018)
MS-MPI v9.0.1 inclui as seguintes melhorias e correções. Baixe o MS-MPI v9.0.1 no Centro de Download da Microsoft.
Correção de um bug no código mpiexec que causa um deadlock durante a inicialização em sistemas Windows 7.
Correção de um bug que impede que o smpd gere processos em todos os grupos de processadores.
Correção de valores retornados para MPI_Win_Get_Attr para janela dinâmica.
Correção de um bug durante a criação de pipe nomeado em smpd.
MS-MPI v9.0 (fevereiro de 2018)
O MS-MPI v9.0 inclui os novos recursos, melhorias e correções a seguir.
Suporte para MPI_Win_allocate.
Suporte para MPI_Win_create_dynamic, MPI_Win_attach e MPI_Win_detach.
Suporte para MPI_Win_flush.
Suporte para MPI_NO_OP.
Suporte parcial para MPI_Rput, MPI_Rget e MPI_Raccumulate.
Um bug no relatório de erros da RMA.
Um bug no MS-MPI v7 e v8 que causa deadlock em MPI_Finalize em determinadas condições.
O SDK do MS-MPI v9.0 também está disponível no nuget.
MS-MPI v8.1 (junho de 2017)
O MS-MPI v8.1 inclui os novos recursos, melhorias e correções a seguir.
Suporte para MPI_Comm_spawn e MPI_Comm_spawn_multiple.
Dê suporte a argumentos de linha de comando unicode mpiexec e à linha de comando de aplicativos.
Suporte para voltar ao NTLM para requisitos de segurança de runtime do MS-MPI.
Dê suporte a vários grupos de processadores ao executar o daemon smpd ou o serviço de inicialização MS-MPI.
Um bug no MS-MPI v8 que pode causar falhas devido ao estouro ao usar coletivos.
Um bug no MS-MPI v8 que pode causar um deadlock no MPI_Alltoallv.
Um bug no MS-MPI v8 que causa um comportamento indefinido ao lidar com arquivos grandes.
O SDK do MS-MPI v8.1 também está disponível no nuget.
MS-MPI v8 (janeiro de 2017)
O MS-MPI v8 inclui os novos recursos, melhorias e correções a seguir.
Suporte completo para todos os coletivos sem bloqueio.
Suporte para MPI_Reduce_scatter_block.
Melhoria de desempenho para MPI_Alltoallv e MPI_Alltoallw.
Um bug no MS-MPI v7 que causa informações ausentes na origem do evento para o Serviço de Inicialização do MSMPI
Um bug no MS-MPI v7.1 que causa um travamento no Serviço de Inicialização do MSMPI.
Um bug no MS-MPI v7 que pode resultar em uma cadeia de caracteres de porta incorreta retornada de MPI_Open_port.
O SDK do MS-MPI v8 também está disponível no nuget.
MS-MPI v7.1 (junho de 2016)
O MS-MPI v7.1 inclui as seguintes melhorias notáveis e correções no MS-MPI v7.
A instalação agora é mais resiliente e não falhará quando as desinstalações anteriores não limpo o Registro com êxito.
Um bug no MS-MPI v7 é corrigido, o que faz com que os trabalhos falhem quando um grande número de trabalhos de MPI são executados simultaneamente no mesmo conjunto de nós.
A autenticação retornará automaticamente ao NTLM se a autenticação Kerberos falhar em um ambiente com suporte kerberos parcial ou configurado incorretamente.
Mpiexec dá suporte a caracteres Unicode na linha de comando e não tem mais um limite embutido em código para o comprimento da linha de comando. Também há suporte para a notação de caminho longo (\\?\).
O SDK do MS-MPI v7.1 também está disponível no nuget.
MS-MPI v7 (novembro de 2015)
MS-MPI v7 é o sucessor do MS-MPI v6. Baixe o MS-MPI v7 no Centro de Download da Microsoft.
Novos recursos
O MS-MPI v7 inclui os novos recursos, melhorias e correções a seguir.
Suporte para operações coletivas adicionais sem bloqueio: MPI_Iallreduce, MPI_Iscatter, MPI_Iallgather, MPI_Iscatterv e MPI_Igatherv. Além dos MPI_Ibcast, MPI_Ireduce, MPI_Igather e MPI_Ibarrier já suportados.
Suporte para configurar o intervalo de portas para conexões de Rede Direta usando a variável de ambiente MSMPI_ND_PORT_RANGE
Gerenciamento de processos renovado (mpiexec/smpd) para melhor confiabilidade e desempenho
Melhorias de desempenho para operações coletivas
Serviço de inicialização de MPI – MS-MPI v7 apresenta o serviço de inicialização MS-MPI, que permite a inicialização de processos de MPI para computadores locais e remotos com credenciais fornecidas pelo usuário. O pacote redistribuível MS-MPI instala o serviço de inicialização MS-MPI no modo Manual. Para iniciar o serviço, execute o seguinte comando:
sc start MSMPILaunchSvc [options]
Estas são as opções que você pode passar para o serviço de inicialização no início do serviço:
-p | -port <port> - Altere a porta em que o serviço de inicialização está escutando.
-g | -nome> do grupo < - Permitir apenas que os membros do grupo especificado executem aplicativos MPI. Se não for especificado, o padrão será usuários autenticados.
Novas opções mpiexec para o serviço de inicialização – há duas novas opções para mpiexec (-pwd e -savecreds) que permitem fornecer as credenciais necessárias para iniciar processos usando o serviço de inicialização. A opção -pwd permite especificar a senha para os usuários que estão enviando em cenários não interativos (por exemplo, usando um script ou tarefa agendada). Nesse caso, a senha é fornecida em texto não criptografado. A opção -savecreds faz com que as credenciais fornecidas (se especificadas com -pwd) sejam armazenadas com segurança em todos os hosts especificados na linha de comando mpiexec.
Por exemplo, o comando a seguir solicitará a senha do usuário e perguntará ao usuário se ele deseja armazená-la nos computadores especificados host1 e host2 e, em seguida, iniciará três processos, um no host1 e dois no host2:
mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests mpiapp.exe [parameters]
Como outro exemplo, o comando a seguir autenticará o usuário usando a senha fornecida, armazenará-o nos computadores especificados host1 e host2 e, em seguida, iniciará três processos, um no host1 e dois no host2:
mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests -pwd <password> -savecreds mpiapp.exe [parameters]
Depois de executar mpiexec com a opção -savecreds em um conjunto de nós, você não precisa fornecer a senha em execuções subsequentes para esses nós, a menos que a senha seja alterada. Se o usuário estiver em execução no modo interativo, mpiexec solicitará a senha se o serviço de inicialização estiver em execução e a senha não tiver sido fornecida ou salva anteriormente com a opção -savecreds .
Compatibilidade do HPC Pack
O MS-MPI v7 é compatível com o HPC Pack 2012 R2 e posterior. Se você estiver executando uma versão compatível do HPC Pack que tenha uma versão anterior do MS-MPI, poderá atualizar o MS-MPI para v7.
MS-MPI v6 (maio de 2015)
O MS-MPI v6 é o sucessor do pacote redistribuível do MS-MPI v5 (lançado em novembro de 2014).
Novos recursos
O MS-MPI v6 inclui os novos recursos, aprimoramentos e correções a seguir.
Operações coletivas sem bloqueio , incluindo MPI_Ibcast, MPI_Ireduce, MPI_Igather e MPI_Ibarrier.
Suporte à afinidade de vários trabalhos para que vários trabalhos de MPI com afinidade possam coexistir em um único computador sem sobrepor os núcleos em que são executados. O runtime do MPI agora detecta que há trabalhos existentes fixados em núcleos e iniciará trabalhos subsequentes em núcleos que não estão em uso no momento.
O recurso é exposto como uma nova opção para mpiexec (-affinity_auto ou –aa) e foi projetado para funcionar em agendadores de trabalho, como o Microsoft HPC Pack e no modo SDK autônomo.
Por exemplo, para executar dois trabalhos de 8 núcleos em um único computador de 16 núcleos, você pode usar a seguinte linha de comando:
mpiexec –cores 8 –affinity_auto –affinity_layout sequential myapp.exe
, oumpiexec –c 8 –aa –al seq myapp.exe
Suporte para aplicativos multi-threaded habilitando o uso de MPI_THREAD_MULTIPLE ao chamar MPI_Init_thread. Isso foi projetado para permitir que aplicativos híbridos usando OMP ou outros modelos de threading aproveitem mais facilmente o runtime do MPI.
O servidor mínimo com suporte para esse recurso é Windows Server 2012. O cliente mínimo com suporte para esse recurso é Windows 8.
Novos recursos dopadrão MPI 3.0 , incluindo:
- Suporte para MPI_Mprobe, MPI_Mrecv, MPI_Improbe e MPI_Imrecv
- Suporte para MPI_COUNT, para permitir que tipos de dados grandes sejam representados corretamente em estruturas MPI_STATUS
- Suporte para MPI_Type_create_hindexed_block
- Suporte para MPI_Dist_graph_create, MPI_Dist_graph_create_adjacent, MPI_Dist_graph_neighbors e MPI_Dist_graph_neighbors_count
Compatibilidade do HPC Pack
O MS-MPI v6 é compatível com o HPC Pack 2012 R2 e posterior. Se você estiver executando uma versão compatível do HPC Pack que tenha uma versão anterior do MS-MPI, poderá atualizar o MS-MPI para v6.
Alterações nas configurações padrão
O MS-MPI v6 altera as seguintes configurações padrão mpiexec :
- MSMPI_ND_ZCOPY_THRESHOLD está definido como -1, desabilitando o zcopy. Isso pode ser reabilitado definindo MSMPI_ND_ZCOPY_THRESHOLD=0 na linha de comando mpiexec ou por meio de cluscfg setenvs (se você estiver usando o Microsoft HPC Pack).
- MSMPI_HA_COLLECTIVE é definido como todos, habilitando coletivos hierárquicos por padrão. Isso pode ser desabilitado definindo MSMPI_HA_COLLECTIVE=off, novamente por meio da linha de comando mpiexec ou externamente.
Recursos preteridos
Estamos substituindo a funcionalidade interna de ajuste automático nesta versão com a intenção de mover o sintonizador automático para um utilitário separado em uma versão futura.