Viktig information om Microsoft MPI

Det här dokumentet innehåller viktig information för de aktuella versionerna av Microsoft MPI (MS-MPI) för Windows.

MS-MPI v10.1.3 (juni 2023)

MS-MPI v10.1.3 innehåller följande förbättringar och korrigeringar. Ladda ned MS-MPI v10.1.3 från Microsoft Download Center.

  • Korrigering för att tilldela tillhörighet till mpi-arbetsprocesser på Windows 11 och Windows Server 2022. På dessa OSes-tillhörighet tilldelas via CPU-uppsättningar och inte via tillhörighetsmasker.

MS-MPI v10.1.3 SDK är också tillgängligt på nuget.

MS-MPI v10.1.2 (november 2019)

MS-MPI v10.1.2 innehåller följande förbättringar och korrigeringar. Ladda ned MS-MPI v10.1.2 från Microsoft Download Center.

  • Signerade benchmark-körbara filer
  • Binärfiler som skapats för att uppfylla APIScan-krav

MS-MPI v10.1.2 SDK är också tillgängligt på nuget.

MS-MPI v10.1.1 (september 2019)

MS-MPI v10.1.1 innehåller följande förbättringar och korrigeringar. Ladda ned MS-MPI v10.1.1 från Microsoft Download Center.

  • Stödargument som skickas till MsmpiLaunchSvc
  • Åtgärda felet i mpiexec-parsning av dubbla citattecken
  • Korrigering för SAL-anteckningar
  • Lägg till alternativ för msmpi-installationsprogrammet som ska avinstalleras från en kommandorad
  • Korrigering för icke-överensstämmande heltalsrepresentation i mpif-huvudfilen som leder till fel med gfortran

MS-MPI v10.1.1 SDK är också tillgängligt på nuget.

MS-MPI v10.0 (oktober 2018)

MS-MPI v10.0 innehåller följande förbättringar och korrigeringar. Ladda ned MS-MPI v10.0 från Microsoft Download Center.

  • Stöd för alla RMA-åtgärder

  • Stöd för att använda flera processorgrupper

  • Inkludera prestandamått för IMB-MPI1 och IMB-NBC

  • Lägg till alternativ i mpiexec/smpd i omdirigeringsloggar

  • Ta bort inbyggda/typer som inte är standard för användning med MinGW/gFortran

  • Åtgärda en bugg i skapandet av kärndumpar

  • Åtgärda ett fel i MPI_THREAD_MULTIPLE läge

  • Åtgärda en bugg i MSMPILaunchSvc som förhindrar att autentiseringsuppgifter sparas

MS-MPI v10.0 SDK är också tillgängligt på nuget.

MS-MPI v9.0.1 (mars 2018)

MS-MPI v9.0.1 innehåller följande förbättringar och korrigeringar. Ladda ned MS-MPI v9.0.1 från Microsoft Download Center.

  • Korrigering av en bugg i mpiexec-kod som orsakar ett dödläge vid start på Windows 7-system.

  • Korrigering av en bugg som förhindrar att smpd skapar processer i alla processorgrupper.

  • Korrigering för returvärden för MPI_Win_Get_Attr för dynamiskt fönster.

  • Korrigering av ett fel vid skapande av namngiven pipe i smpd.

MS-MPI v9.0 (februari 2018)

MS-MPI v9.0 innehåller följande nya funktioner, förbättringar och korrigeringar.

  • Stöd för MPI_Win_allocate.

  • Stöd för MPI_Win_create_dynamic, MPI_Win_attach och MPI_Win_detach.

  • Stöd för MPI_Win_flush.

  • Stöd för MPI_NO_OP.

  • Delvis stöd för MPI_Rput, MPI_Rget och MPI_Raccumulate.

  • En bugg i RMA-felrapportering.

  • En bugg i MS-MPI v7 och v8 som orsakar deadlock på MPI_Finalize under vissa förhållanden.

  • MS-MPI v9.0 SDK är också tillgängligt på nuget.

MS-MPI v8.1 (juni 2017)

MS-MPI v8.1 innehåller följande nya funktioner, förbättringar och korrigeringar.

  • Stöd för MPI_Comm_spawn och MPI_Comm_spawn_multiple.

  • Stöd för Kommandoradsargument för Unicode mpiexec och programkommandoraden.

  • Stöd för att återgå till NTLM för säkerhetskrav för MS-MPI-körning.

  • Stöd för flera processorgrupper när du kör smpd-daemon eller MS-MPI-starttjänsten.

  • En bugg i MS-MPI v8 som kan orsaka krascher på grund av spill när du använder kollektiv.

  • En bugg i MS-MPI v8 som kan orsaka ett dödläge i MPI_Alltoallv.

  • En bugg i MS-MPI v8 som orsakar odefinierat beteende vid hantering av stora filer.

  • MS-MPI v8.1 SDK är också tillgängligt på nuget.

MS-MPI v8 (januari 2017)

MS-MPI v8 innehåller följande nya funktioner, förbättringar och korrigeringar.

  • Fullständigt stöd för alla icke-blockerande kollektiv.

  • Stöd för MPI_Reduce_scatter_block.

  • Prestandaförbättringar för MPI_Alltoallv och MPI_Alltoallw.

  • En bugg i MS-MPI v7 som orsakar information som saknas i händelsekällan för MSMPI-starttjänsten

  • En bugg i MS-MPI v7.1 som orsakar hängning i MSMPI-starttjänsten.

  • En bugg i MS-MPI v7 som kan resulterar i en felaktig portsträng som returneras från MPI_Open_port.

  • MS-MPI v8 SDK är också tillgängligt på nuget.

MS-MPI v7.1 (juni 2016)

MS-MPI v7.1 innehåller följande viktiga förbättringar och korrigeringar av MS-MPI v7.

  • Installationen är nu mer motståndskraftig och misslyckas inte när tidigare avinstallationer inte har rensat registret.

  • En bugg i MS-MPI v7 har åtgärdats som gör att jobb misslyckas när ett stort antal MPI-jobb körs samtidigt på samma uppsättning noder.

  • Autentiseringen återgår automatiskt till NTLM om Kerberos-autentiseringen misslyckas i en miljö med partiellt eller felkonfigurerat Kerberos-stöd.

  • mpiexec stöder Unicode-tecken på kommandoraden och har inte längre en hårdkodad gräns för kommandoradens längd. Lång sökvägsnotation (\\?\) stöds också.

  • MS-MPI v7.1 SDK är också tillgängligt på nuget.

MS-MPI v7 (november 2015)

MS-MPI v7 är efterföljare till MS-MPI v6. Ladda ned MS-MPI v7 från Microsoft Download Center.

Nya funktioner

MS-MPI v7 innehåller följande nya funktioner, förbättringar och korrigeringar.

  • Stöd för ytterligare icke-blockerande kollektiva åtgärder: MPI_Iallreduce, MPI_Iscatter, MPI_Iallgather, MPI_Iscatterv och MPI_Igatherv. Dessa är utöver de MPI_Ibcast, MPI_Ireduce, MPI_Igather och MPI_Ibarrier som redan stöds.

  • Stöd för att konfigurera portintervallet för nätverksdirigeringsanslutningar med hjälp av miljövariabeln MSMPI_ND_PORT_RANGE

  • Omarbetad processhantering (mpiexec/smpd) för bättre tillförlitlighet och prestanda

  • Prestandaförbättringar för kollektiv drift

  • MPI-starttjänsten – MS-MPI v7 introducerar MS-MPI-starttjänsten, som gör det möjligt att starta MPI-processer för lokala datorer och fjärrdatorer med användartilldefinierade autentiseringsuppgifter. MS-MPI redistributable-paketet installerar MS-MPI-starttjänsten i manuellt läge. Starta tjänsten genom att köra följande kommando:

    sc start MSMPILaunchSvc [options]

    Det här är de alternativ som du kan skicka till starttjänsten när tjänsten startas:

    • -p | -portport <> – Ändra porten som starttjänsten lyssnar på.

    • -g | -group <group name> – Tillåt endast att medlemmar i den angivna gruppen kör MPI-program. Om inget anges autentiseras standardanvändare.

  • Nya mpiexec-alternativ för starttjänsten – Det finns två nya alternativ för mpiexec (-pwd och -savecreds) som gör att du kan ange de autentiseringsuppgifter som krävs för att starta processer med starttjänsten. Med alternativet -pwd kan du ange lösenordet för de användare som skickar in i icke-interaktiva scenarier (t.ex. med hjälp av ett skript eller en schemalagd aktivitet). I det här fallet anges lösenordet i klartext. Alternativet -savecreds gör att de angivna autentiseringsuppgifterna (om de anges med -pwd) lagras på ett säkert sätt på alla värdar som anges i kommandoraden mpiexec.

    Följande kommando frågar till exempel efter användarens lösenord och frågar användaren om han eller hon vill lagra det på de angivna datorerna host1 och host2, och startar sedan tre processer, en på host1 och två på host2:

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

    Som ett annat exempel autentiserar följande kommando användaren med det angivna lösenordet, lagrar det på de angivna datorerna host1 och host2 och startar sedan tre processer, en på host1 och två på host2:

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

    När du har kört mpiexec med alternativet -savecreds på en uppsättning noder behöver du inte ange lösenordet vid efterföljande körningar för dessa noder om inte lösenordet ändras. Om användaren körs i interaktivt läge frågar mpiexec efter lösenordet om starttjänsten körs och lösenordet inte har angetts eller tidigare sparats med alternativet -savecreds .

HPC Pack-kompatibilitet

MS-MPI v7 är kompatibelt med HPC Pack 2012 R2 och senare. Om du kör en kompatibel version av HPC Pack som har en tidigare version av MS-MPI kan du uppgradera MS-MPI till v7.

MS-MPI v6 (maj 2015)

MS-MPI v6 är efterföljare till ms-MPI v5 redistributable-paketet (släpptes i november 2014).

Nya funktioner

MS-MPI v6 innehåller följande nya funktioner, förbättringar och korrigeringar.

  • Icke-blockerande kollektiva åtgärder , inklusive MPI_Ibcast, MPI_Ireduce, MPI_Igather och MPI_Ibarrier.

  • Stöd för tillhörighet mellan flera jobb så att flera tillhörighetsbaserade MPI-jobb kan samexistera på en enda dator utan att överlappa de kärnor som de körs på. MPI-körningen identifierar nu att det finns befintliga jobb fästa på kärnor och startar efterföljande jobb på kärnor som inte används för närvarande.

    Funktionen exponeras som ett nytt alternativ för mpiexec (-affinity_auto eller –aa) och är utformad för att fungera både under jobbschemaläggare som Microsoft HPC Pack och i fristående SDK-läge.

    Om du till exempel vill köra två 8-kärnsjobb på en enda dator med 16 kärnor kan du använda följande kommandorad:

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

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

  • Stöd för flertrådade program genom att aktivera användning av MPI_THREAD_MULTIPLE vid anrop av MPI_Init_thread. Detta är utformat för att tillåta hybridprogram som använder OMP eller andra trådningsmodeller för att enklare utnyttja MPI-körningen.

    Den server som stöds minst för den här funktionen är Windows Server 2012. Den minsta klient som stöds för den här funktionen är Windows 8.

  • Nya funktioner frånMPI 3.0-standarden , inklusive:

HPC Pack-kompatibilitet

MS-MPI v6 är kompatibelt med HPC Pack 2012 R2 och senare. Om du kör en kompatibel version av HPC Pack som har en tidigare version av MS-MPI kan du uppgradera MS-MPI till v6.

Ändringar i standardinställningar

MS-MPI v6 ändrar följande standardinställningar för mpiexec :

  • MSMPI_ND_ZCOPY_THRESHOLD är inställt på -1 och inaktiverar zcopy. Detta kan återanvändas genom att ange MSMPI_ND_ZCOPY_THRESHOLD=0 på kommandoraden mpiexec eller via cluscfg setenvs (om du använder Microsoft HPC Pack).
  • MSMPI_HA_COLLECTIVE är inställt på alla, vilket möjliggör hierarkiska kollektiv som standard. Detta kan inaktiveras genom att ange MSMPI_HA_COLLECTIVE= av, igen via mpiexec-kommandoraden eller externt.

Inaktuella funktioner

Vi håller på att fasa ut den inbyggda funktionen för automatisk justering i den här versionen med avsikten att flytta den automatiska tunern till ett separat verktyg i en kommande version.

Gruppresurser

Microsoft MPI

MPI-referens