Compartir a través de


Notas de la versión de Microsoft MPI

Este documento contiene las notas de la versión de las versiones actuales de Microsoft MPI (MS-MPI) para Windows.

MS-MPI v10.1.3 (junio de 2023)

MS-MPI v10.1.3 incluye las siguientes mejoras y correcciones. Descargue MS-MPI v10.1.3 desde el Centro de descarga de Microsoft.

  • Corrección para asignar afinidades a procesos de trabajo de mpi en Windows 11 y Windows Server 2022. En estas afinidades de sistema operativo se asignan a través de conjuntos de CPU y no a través de máscaras de afinidad.

El SDK de MS-MPI v10.1.3 también está disponible en nuget.

MS-MPI v10.1.2 (noviembre de 2019)

MS-MPI v10.1.2 incluye las siguientes mejoras y correcciones. Descargue MS-MPI v10.1.2 desde el Centro de descarga de Microsoft.

  • Ejecutables de pruebas comparativas firmadas
  • Archivos binarios creados para satisfacer los requisitos de APIScan

El SDK de MS-MPI v10.1.2 también está disponible en nuget.

MS-MPI v10.1.1 (septiembre de 2019)

MS-MPI v10.1.1 incluye las siguientes mejoras y correcciones. Descargue MS-MPI v10.1.1 desde el Centro de descarga de Microsoft.

  • Argumentos de compatibilidad pasados a MsmpiLaunchSvc
  • Corrección del error en el análisis de comillas dobles de mpiexec
  • Corrección para anotaciones SAL
  • Agregar opción para el instalador msmpi para desinstalar desde una línea de comandos
  • Corrección de la representación entera no conforme en el archivo de encabezado mpif que provoca errores con gfortran

El SDK de MS-MPI v10.1.1 también está disponible en nuget.

MS-MPI v10.0 (octubre de 2018)

MS-MPI v10.0 incluye las siguientes mejoras y correcciones. Descargue MS-MPI v10.0 desde el Centro de descarga de Microsoft.

  • Compatibilidad con todas las operaciones de RMA

  • Compatibilidad con el uso de varios grupos de procesadores

  • Incluir pruebas comparativas IMB-MPI1 e IMB-NBC

  • Agregar opción en mpiexec/smpd para redirigir los registros

  • Eliminación de intrínsecos o tipos no estándar para admitir el uso con MinGW/gFortran

  • Corrección de un error en la creación del volcado de memoria principal

  • Corrección de un error en modo de MPI_THREAD_MULTIPLE

  • Corrección de un error en MSMPILaunchSvc que impide guardar las credenciales

El SDK de MS-MPI v10.0 también está disponible en nuget.

MS-MPI v9.0.1 (marzo de 2018)

MS-MPI v9.0.1 incluye las siguientes mejoras y correcciones. Descargue MS-MPI v9.0.1 desde el Centro de descarga de Microsoft.

  • Corrección de un error en el código mpiexec que provoca un interbloqueo durante el inicio en los sistemas Windows 7.

  • Corrección de un error que impide que smpd genere procesos en todos los grupos de procesadores.

  • Corrección para los valores devueltos de MPI_Win_Get_Attr para la ventana dinámica.

  • Corrección de un error durante la creación de canalizaciones con nombre en smpd.

MS-MPI v9.0 (febrero de 2018)

MS-MPI v9.0 incluye las siguientes características, mejoras y correcciones nuevas.

  • Compatibilidad con MPI_Win_allocate.

  • Compatibilidad con MPI_Win_create_dynamic, MPI_Win_attach y MPI_Win_detach.

  • Compatibilidad con MPI_Win_flush.

  • Compatibilidad con MPI_NO_OP.

  • Compatibilidad parcial con MPI_Rput, MPI_Rget y MPI_Raccumulate.

  • Un error en los informes de errores de RMA.

  • Un error en MS-MPI v7 y v8 que provoca interbloqueo en MPI_Finalize en determinadas condiciones.

  • El SDK de MS-MPI v9.0 también está disponible en nuget.

MS-MPI v8.1 (junio de 2017)

MS-MPI v8.1 incluye las siguientes características, mejoras y correcciones nuevas.

  • Compatibilidad con MPI_Comm_spawn y MPI_Comm_spawn_multiple.

  • Admite argumentos de línea de comandos y aplicaciones de Unicode mpiexec.

  • Compatibilidad con la recuperación a NTLM para los requisitos de seguridad del entorno de ejecución de MS-MPI.

  • Admite varios grupos de procesadores al ejecutar el demonio smpd o el servicio ms-MPI Launch.

  • Un error en MS-MPI v8 que podría provocar bloqueos debido al desbordamiento cuando se usan colectivos.

  • Un error en MS-MPI v8 que podría provocar un interbloqueo en MPI_Alltoallv.

  • Un error en MS-MPI v8 que causa un comportamiento indefinido al tratar con archivos grandes.

  • El SDK de MS-MPI v8.1 también está disponible en nuget.

MS-MPI v8 (enero de 2017)

MS-MPI v8 incluye las siguientes características, mejoras y correcciones nuevas.

  • Compatibilidad completa con todos los colectivos sin bloqueo.

  • Compatibilidad con MPI_Reduce_scatter_block.

  • Mejora del rendimiento para MPI_Alltoallv y MPI_Alltoallw.

  • Un error en MS-MPI v7 que provoca la falta de información en el origen del evento para el servicio de inicio de MSMPI

  • Un error en MS-MPI v7.1 que provoca un bloqueo en el servicio de inicio de MSMPI.

  • Un error en MS-MPI v7 que puede dar lugar a una cadena de puerto incorrecta devuelta desde MPI_Open_port.

  • El SDK de MS-MPI v8 también está disponible en nuget.

MS-MPI v7.1 (junio de 2016)

MS-MPI v7.1 incluye las siguientes mejoras y correcciones importantes para MS-MPI v7.

  • El programa de instalación ahora es más resistente y no se producirá un error cuando las desinstalaciones anteriores no limpiaron correctamente el Registro.

  • Se ha corregido un error en MS-MPI v7 que provocaba un error en los trabajos cuando un gran número de trabajos de MPI se ejecuta simultáneamente en el mismo conjunto de nodos.

  • La autenticación vuelve automáticamente a NTLM si se produce un error en la autenticación Kerberos en un entorno con compatibilidad parcial o incorrecta con Kerberos.

  • mpiexec admite caracteres Unicode en la línea de comandos y ya no tiene un límite codificado de forma rígida para la longitud de la línea de comandos. También se admite la notación de ruta de acceso larga (\\?\).

  • El SDK de MS-MPI v7.1 también está disponible en nuget.

MS-MPI v7 (noviembre de 2015)

MS-MPI v7 es el sucesor de MS-MPI v6. Descargue MS-MPI v7 desde el Centro de descarga de Microsoft.

Nuevas características

MS-MPI v7 incluye las siguientes características, mejoras y correcciones nuevas.

  • Compatibilidad con operaciones colectivas adicionales sin bloqueo: MPI_Iallreduce, MPI_Iscatter, MPI_Iallgather, MPI_Iscatterv y MPI_Igatherv. Además de los MPI_Ibcast, MPI_Ireduce, MPI_Igather y MPI_Ibarrier ya admitidos.

  • Compatibilidad con la configuración del intervalo de puertos para las conexiones directas de red mediante la variable de entorno MSMPI_ND_PORT_RANGE

  • Administración de procesos renovados (mpiexec/smpd) para mejorar la confiabilidad y el rendimiento

  • Mejoras de rendimiento para las operaciones colectivas

  • Servicio de inicio de MPI : MS-MPI v7 presenta el servicio de inicio ms-MPI, que permite el inicio de procesos MPI para máquinas locales y remotas con credenciales proporcionadas por el usuario. El paquete redistribuible MS-MPI instala el servicio de inicio ms-MPI en modo manual. Para iniciar el servicio, ejecute el siguiente comando:

    sc start MSMPILaunchSvc [options]

    Estas son las opciones que puede pasar al servicio de inicio en el inicio del servicio:

    • -p | -port port <:> cambie el puerto en el que está escuchando el servicio de inicio.

    • -g | -nombre del grupo de grupos <> : solo permite que los miembros del grupo especificado ejecuten aplicaciones MPI. Si no se especifica, el valor predeterminado es usuarios autenticados.

  • Nuevas opciones de mpiexec para el servicio de inicio : hay dos nuevas opciones para mpiexec (-pwd y -savecreds) que le permiten proporcionar las credenciales necesarias para iniciar procesos mediante el servicio de inicio. La opción -pwd permite especificar la contraseña para los usuarios que envían en escenarios no interactivos (por ejemplo, mediante un script o una tarea programada). En este caso, la contraseña se proporciona en texto no cifrado. La opción -savecreds hace que las credenciales proporcionadas (si se especifican con -pwd) se almacenen de forma segura en todos los hosts especificados en la línea de comandos de mpiexec.

    Por ejemplo, el siguiente comando solicitará la contraseña del usuario y le preguntará si quiere almacenarla en las máquinas especificadas host1 y host2, inicia tres procesos, uno en host1 y dos en host2:

    mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests mpiapp.exe [parameters]

    Como otro ejemplo, el siguiente comando autenticará al usuario con la contraseña proporcionada, lo almacenará en las máquinas especificadas host1 y host2 y, a continuación, iniciará tres procesos, uno en host1 y dos en host2:

    mpiexec –hosts 2 host1 1 host2 2 –wdir C:\MpiTests -pwd <password> -savecreds mpiapp.exe [parameters]

    Después de ejecutar mpiexec con la opción -savecreds en un conjunto de nodos, no es necesario proporcionar la contraseña en ejecuciones posteriores para esos nodos a menos que se cambie la contraseña. Si el usuario se ejecuta en modo interactivo, mpiexec solicita la contraseña si el servicio de inicio se está ejecutando y la contraseña no se ha proporcionado o guardado previamente con la opción -savecreds .

Compatibilidad de HPC Pack

MS-MPI v7 es compatible con HPC Pack 2012 R2 y versiones posteriores. Si ejecuta una versión compatible de HPC Pack que tiene una versión anterior de MS-MPI, puede actualizar MS-MPI a v7.

MS-MPI v6 (mayo de 2015)

MS-MPI v6 es el sucesor del paquete redistribuible MS-MPI v5 (publicado en noviembre de 2014).

Nuevas características

MS-MPI v6 incluye las siguientes características, mejoras y correcciones nuevas.

  • Operaciones colectivas sin bloqueo , como MPI_Ibcast, MPI_Ireduce, MPI_Igather y MPI_Ibarrier.

  • Compatibilidad con afinidad de varios trabajos para que varios trabajos de MPI con afinidad puedan coexistir en una sola máquina sin superponer los núcleos en los que se ejecutan. El entorno de ejecución de MPI ahora detecta que hay trabajos existentes anclados a núcleos y iniciará trabajos posteriores en núcleos que no están actualmente en uso.

    La característica se expone como una nueva opción para mpiexec (-affinity_auto o –aa) y está diseñada para funcionar tanto en programadores de trabajos como Microsoft HPC Pack como en modo sdk independiente.

    Por ejemplo, para ejecutar dos trabajos principales de 8 núcleos en una sola máquina de 16 núcleos, podría usar la siguiente línea de comandos:

    mpiexec –cores 8 –affinity_auto –affinity_layout sequential myapp.exe o

    mpiexec –c 8 –aa –al seq myapp.exe

  • Compatibilidad con aplicaciones multiproceso habilitando el uso de MPI_THREAD_MULTIPLE al llamar a MPI_Init_thread. Esto está diseñado para permitir que las aplicaciones híbridas que usan OMP u otros modelos de subprocesos aprovechen más fácilmente el entorno de ejecución de MPI.

    El servidor mínimo admitido para esta característica es Windows Server 2012. El cliente mínimo admitido para esta característica es Windows 8.

  • Nuevas características delestándar MPI 3.0 , entre las que se incluyen:

Compatibilidad de HPC Pack

MS-MPI v6 es compatible con HPC Pack 2012 R2 y versiones posteriores. Si ejecuta una versión compatible de HPC Pack que tiene una versión anterior de MS-MPI, puede actualizar MS-MPI a v6.

Cambios en la configuración predeterminada

MS-MPI v6 cambia la siguiente configuración predeterminada de mpiexec :

  • MSMPI_ND_ZCOPY_THRESHOLD se establece en -1, deshabilitando zcopy. Esto se puede volver a habilitar estableciendo MSMPI_ND_ZCOPY_THRESHOLD=0 en la línea de comandos de mpiexec o a través de cluscfg setenvs (si usa Microsoft HPC Pack).
  • MSMPI_HA_COLLECTIVE se establece en todos, lo que permite los colectivos jerárquicos de forma predeterminada. Esto se puede deshabilitar estableciendo MSMPI_HA_COLLECTIVE=off, de nuevo a través de la línea de comandos de mpiexec o externamente.

Características en desuso

Estamos en desuso de la funcionalidad integrada de ajuste automático en esta versión con la intención de mover el tuner automático a una utilidad independiente en una próxima versión.

Recursos de la comunidad

Microsoft MPI

Referencia de MPI