共用方式為


Microsoft MPI 版本資訊

本檔包含適用于 Windows 的目前 Microsoft MPI (MS-MPI) 版本資訊。

MS-MPI v10.1.3 (2023 年 6 月)

MS-MPI v10.1.3 包含下列改善和修正。 從 Microsoft 下載中心下載MS-MPI v10.1.3。

  • 修正將同質指派給 Windows 11 和 Windows Server 2022 上的 mpi 背景工作進程。 在這些 OSes 親和性上,會透過 CPU 集合指派,而不是透過 Affinity mask 進行指派。

NUGet上也提供 MS-MPI v10.1.3 SDK。

MS-MPI v10.1.2 (2019 年 11 月)

MS-MPI v10.1.2 包含下列改善和修正。 從 Microsoft 下載中心下載MS-MPI v10.1.2。

  • 已簽署的基準測試可執行檔
  • 為了滿足 APIScan 需求而建置的二進位檔

NUGet上也提供 MS-MPI v10.1.2 SDK。

MS-MPI v10.1.1 (2019 年 9 月)

MS-MPI v10.1.1 包含下列改善和修正。 從 Microsoft 下載中心下載MS-MPI v10.1.1。

  • 傳遞至 MsmpiLaunchSvc 的支援引數
  • 修正 mpiexec 雙引號剖析中的 Bug
  • 修正 SAL 注釋
  • 從命令列卸載 msmpi 安裝程式的新增選項
  • 修正 mpif 標頭檔中導致 gfortran 錯誤的非一致性整數標記法

MS-MPI v10.1.1 SDK 也適用于 nuget

MS-MPI v10.0 (2018 年 10 月)

MS-MPI v10.0 包含下列改善和修正。 從 Microsoft 下載中心下載MS-MPI v10.0。

  • 支援所有 RMA 作業

  • 支援使用多個處理器群組

  • 包含 IMB-MPI1 和 IMB-NBC 基準測試

  • 在 mpiexec/smpd 中新增選項以重新導向記錄

  • 移除非標準內建函式/類型以支援使用 MinGW/gFortran

  • 修正核心傾印建立中的 Bug

  • 修正MPI_THREAD_MULTIPLE模式中的 Bug

  • 修正 MSMPILaunchSvc 中防止儲存認證的 Bug

MS-MPI v10.0 SDK 也可在 nuget上使用。

MS-MPI v9.0.1 (2018 年 3 月)

MS-MPI v9.0.1 包含下列改善和修正。 從 Microsoft 下載中心下載MS-MPI v9.0.1。

  • 修正在 Windows 7 系統上啟動期間造成死結的 mpiexec 程式碼錯誤。

  • 修正可防止 所有處理器群組繁衍進程的 Bug。

  • 修正動態視窗 MPI_Win_Get_Attr 的傳回值。

  • 修正 smpd中具名管道建立期間的 Bug。

MS-MPI v9.0 (2018 年 2 月)

MS-MPI v9.0 包含下列新功能、改善和修正。

  • 支援 MPI_Win_allocate

  • 支援 MPI_Win_create_dynamicMPI_Win_attachMPI_Win_detach

  • 支援 MPI_Win_flush

  • 支援 MPI_NO_OP

  • 部分支援MPI_RputMPI_RgetMPI_Raccumulate

  • RMA 錯誤報表中的錯誤。

  • MS-MPI v7 和 v8 中的 Bug,在特定情況下導致 MPI_Finalize 死結。

  • MS-MPI v9.0 SDK 也可在 nuget 上使用。

MS-MPI v8.1 (2017 年 6 月)

MS-MPI v8.1 包含下列新功能、改善和修正。

  • 支援 MPI_Comm_spawnMPI_Comm_spawn_multiple

  • 支援 Unicode mpiexec 命令列引數和應用程式命令列。

  • 針對 MS-MPI 執行時間安全性需求支援回復為 NTLM。

  • 執行 smpd 精靈或 MS-MPI Launch 服務時,支援多個處理器群組。

  • MS-MPI v8 中的 Bug,可能會在使用整體時造成當機。

  • MS-MPI v8 中可能導致 MPI_Alltoallv死結的 Bug。

  • MS-MPI v8 中的 Bug,會在處理大型檔案時造成未定義的行為。

  • NUGet上也提供 MS-MPI v8.1 SDK。

MS-MPI v8 (2017 年 1 月)

MS-MPI v8 包含下列新功能、改善和修正。

  • 完整支援所有非封鎖的集合。

  • 支援 MPI_Reduce_scatter_block

  • MPI_AlltoallvMPI_Alltoallw的效能改善。

  • MS-MPI v7 中導致 MSMPI 啟動服務事件來源中遺漏資訊的 Bug

  • MS-MPI v7.1 中的 Bug,會在 MSMPI Launch Service 中造成停止回應。

  • MS-MPI v7 中的 Bug,會導致從 MPI_Open_port傳回不正確的埠字串。

  • MS-MPI v8 SDK 也可在 nuget 上使用。

MS-MPI v7.1 (2016 年 6 月)

MS-MPI v7.1 包含下列值得注意的改進和 MS-MPI v7 修正。

  • 安裝程式現在更具復原性,而且在先前的卸載未成功清除登錄時不會失敗。

  • MS-MPI v7 中的 Bug 已修正,會導致作業在相同節點上同時執行大量 MPI 作業時失敗。

  • 如果 Kerberos 驗證在部分或設定錯誤的 Kerberos 支援的環境中失敗,驗證會自動回復為 NTLM。

  • mpiexec 支援命令列中的 Unicode 字元,而且不再有命令列長度的硬式編碼限制。 也支援長路徑標記法 (\\?\) 。

  • MS-MPI v7.1 SDK 也可在 nuget 上使用。

MS-MPI v7 (2015 年 11 月)

MS-MPI v7 是 MS-MPI v6 的後續任務。 從 Microsoft 下載中心下載MS-MPI v7。

新功能

MS-MPI v7 包含下列新功能、改善和修正。

  • 支援其他非封鎖的統一作業MPI_Iallreduce、MPI_Iscatter、MPI_IallgatherMPI_IscattervMPI_Igatherv 這些除了已支援的 MPI_IbcastMPI_IreduceMPI_IgatherMPI_Ibarrier之外

  • 支援使用MSMPI_ND_PORT_RANGE環境變數設定網路直接連線的埠範圍

  • 已重新取樣的程式管理 (mpiexec/smpd) ,以提升可靠性和效能

  • 整體作業的效能改善

  • MPI 啟動服務 - MS-MPI v7 引進 MS-MPI 啟動服務,可針對具有使用者提供認證的本機和遠端電腦啟動 MPI 程式。 MS-MPI 可轉散發套件會以手動模式安裝 MS-MPI 啟動服務。 若要啟動服務,請執行下列命令:

    sc start MSMPILaunchSvc [options]

    以下是您可以在服務啟動時傳遞至啟動服務的選項:

    • -p | -port 埠 <> - 變更啟動服務正在接聽的埠。

    • -g | -group group < name > - 只允許指定群組的成員執行 MPI 應用程式。 如果未指定,預設值為已驗證的使用者。

  • 啟動服務的新 mpiexec 選項 - mpiexec (-pwd-savecreds) 有兩個新選項,可讓您提供使用啟動服務啟動程式所需的認證。 -pwd選項允許在非互動式案例中指定提交使用者的密碼 (,例如使用腳本或排程的工作) 。 在此情況下,密碼會以純文字提供。 -savecreds選項會在使用-pwd) 指定時, (提供的認證安全地儲存在 mpiexec 命令列中指定的所有主機上。

    例如,下列命令會提示使用者輸入密碼,並詢問使用者是否要將它儲存在指定的機器host1 和 host2,然後啟動三個進程,一個在host1上,另一個在host2上:

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

    另一個範例是,下列命令會使用提供的密碼驗證使用者、將它儲存在指定的機器 host1host2,然後啟動三個進程,一個在 host1 上,另一個在 host2上:

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

    在一組節點上以 -savecreds 選項執行 mpiexec 之後,除非密碼已變更,否則您不需要在後續針對這些節點執行時提供密碼。 如果使用者在互動式模式中執行,如果啟動服務正在執行且尚未提供密碼或先前使用 -savecreds 選項儲存密碼,mpiexec 會提示輸入密碼。

HPC Pack 相容性

MS-MPI v7 與 HPC Pack 2012 R2 和更新版本相容。 如果您執行的是舊版 MS-MPI 的 HPC Pack 相容版本,您可以將 MS-MPI 升級至 v7。

MS-MPI v6 (2015 年 5 月)

MS-MPI v6 是 MS-MPI v5 可轉散發套件的後續任務, (于 2014 年 11 月發行) 。

新功能

MS-MPI v6 包含下列新功能、改善和修正。

  • 非封鎖的統一作業 ,包括 MPI_IbcastMPI_IreduceMPI_IgatherMPI_Ibarrier

  • 多作業親和性支援 ,讓多個同質 MPI 作業可以並存于單一電腦上,而不會重迭其執行的核心。 MPI 執行時間現在會偵測到現有的作業已釘選到核心,而且將會在目前未使用的核心上啟動後續作業。

    此功能會公開為 mpiexec (-affinity_auto–aa) 的新選項,並設計成在工作排程器下運作,例如 Microsoft HPC Pack 和獨立 SDK 模式。

    例如,若要在單一 16 核心電腦上執行兩個 8 核心作業,您可以使用下列命令列:

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

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

  • 支援多執行緒應用程式,方法是在呼叫MPI_Init_thread 時啟用MPI_THREAD_MULTIPLE。 這是為了允許使用 OMP 或其他執行緒模型的混合式應用程式,更輕鬆地利用 MPI 執行時間。

    此功能的最低支援伺服器是Windows Server 2012。 這項功能的最低支援用戶端是Windows 8。

  • MPI 3.0 標準的新功能包括:

HPC Pack 相容性

MS-MPI v6 與 HPC Pack 2012 R2 和更新版本相容。 如果您執行的是舊版 MS-MPI 的 HPC Pack 相容版本,您可以將 MS-MPI 升級至 v6。

預設設定的變更

MS-MPI v6 會變更下列 mpiexec 預設設定:

  • MSMPI_ND_ZCOPY_THRESHOLD設定為 -1,停用 zcopy。 您可以在 mpiexec 命令列中設定 MSMPI_ND_ZCOPY_THRESHOLD=0,或使用 cluscfg setenvs () 來重新啟用此功能。
  • MSMPI_HA_COLLECTIVE設定為全部,預設會啟用階層式集合。 您可以透過 mpiexec 命令列或外部設定 MSMPI_HA_COLLECTIVE=off 來停用此功能。

過時的功能

我們即將淘汰此版本中內建的自動調整功能,旨在將自動微調工具移至即將發行的個別公用程式。

社群資源

Microsoft MPI

MPI 參考