Compartilhar via


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, ou

    mpiexec –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:

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.

Recursos da comunidade

Microsoft MPI

Referência de MPI