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 작업자 프로세스에 친화성을 할당하기 위한 수정 사항입니다. 이러한 OS의 선호도는 선호도 마스크가 아닌 CPU 집합을 통해 할당됩니다.

MS-MPI v10.1.3 SDK는 nuget에서도 사용할 수 있습니다.

MS-MPI v10.1.2(2019년 11월)

MS-MPI v10.1.2에는 다음과 같은 개선 사항 및 수정 사항이 포함되어 있습니다. Microsoft 다운로드 센터에서 MS-MPI v10.1.2를 다운로드합니다.

  • 서명된 벤치마크 실행 파일
  • APIScan 요구 사항을 충족하도록 빌드된 이진 파일

MS-MPI v10.1.2 SDK는 nuget에서도 사용할 수 있습니다.

MS-MPI v10.1.1(2019년 9월)

MS-MPI v10.1.1에는 다음과 같은 개선 사항 및 수정 사항이 포함되어 있습니다. Microsoft 다운로드 센터에서 MS-MPI v10.1.1을 다운로드합니다.

  • MsmpiLaunchSvc에 전달된 지원 인수
  • mpiexec 큰따옴표 구문 분석의 버그 수정
  • 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에서 사용을 지원하도록 비표준 내장 함수/형식 제거

  • 코어 덤프 만들기의 버그 수정

  • MPI_THREAD_MULTIPLE 모드에서 버그 수정

  • 자격 증명 저장을 방지하는 MSMPILaunchSvc의 버그 수정

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 코드의 버그를 수정합니다.

  • smpd가 모든 프로세서 그룹에서 프로세스를 생성하지 못하게 하는 버그를 수정합니다.

  • 동적 창에 대한 MPI_Win_Get_Attr 반환 값 수정

  • smpd에서 명명된 파이프를 만드는 동안 버그가 수정되었습니다.

MS-MPI v9.0(2018년 2월)

MS-MPI v9.0에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.

  • MPI_Win_allocate 지원.

  • MPI_Win_create_dynamic, MPI_Win_attachMPI_Win_detach 지원합니다.

  • MPI_Win_flush 지원.

  • MPI_NO_OP 지원.

  • MPI_Rput, MPI_RgetMPI_Raccumulate 대한 부분 지원.

  • RMA 오류 보고의 버그입니다.

  • MS-MPI v7 및 v8의 버그로 인해 특정 조건에서 MPI_Finalize 교착 상태가 발생합니다.

  • MS-MPI v9.0 SDK는 nuget에서도 사용할 수 있습니다.

MS-MPI v8.1(2017년 6월)

MS-MPI v8.1에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.

  • MPI_Comm_spawnMPI_Comm_spawn_multiple 지원.

  • 유니코드 mpiexec 명령줄 인수 및 애플리케이션 명령줄을 지원합니다.

  • MS-MPI 런타임 보안 요구 사항에 대한 NTLM으로의 대체를 지원합니다.

  • smpd 디먼 또는 MS-MPI 시작 서비스를 실행할 때 여러 프로세서 그룹을 지원합니다.

  • 집단을 사용할 때 오버플로로 인해 충돌이 발생할 수 있는 MS-MPI v8의 버그입니다.

  • MS-MPI v8의 버그로 인해 MPI_Alltoallv 교착 상태가 발생할 수 있습니다.

  • 대용량 파일을 처리할 때 정의되지 않은 동작을 유발하는 MS-MPI v8의 버그입니다.

  • MS-MPI v8.1 SDK는 nuget에서도 사용할 수 있습니다.

MS-MPI v8(2017년 1월)

MS-MPI v8에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.

  • 모든 비 차단 집단에 대한 전체 지원.

  • MPI_Reduce_scatter_block 지원.

  • MPI_AlltoallvMPI_Alltoallw 대한 성능 향상.

  • MSMPI 시작 서비스에 대한 이벤트 원본에서 누락된 정보를 발생시키는 MS-MPI v7의 버그

  • MSMPI 시작 서비스에서 중단을 일으키는 MS-MPI v7.1의 버그입니다.

  • MS-MPI v7의 버그로 인해 MPI_Open_port 잘못된 포트 문자열이 반환됩니다.

  • MS-MPI v8 SDK는 nuget에서도 사용할 수 있습니다.

MS-MPI v7.1(2016년 6월)

MS-MPI v7.1에는 MS-MPI v7에 대한 다음과 같은 주목할 만한 개선 사항 및 수정 사항이 포함되어 있습니다.

  • 이제 설치는 복원력이 더 높으며 이전 제거가 레지스트리를 성공적으로 클린 않으면 실패하지 않습니다.

  • MS-MPI v7의 버그가 수정되어 동일한 노드 집합에서 많은 수의 MPI 작업이 동시에 실행될 때 작업이 실패합니다.

  • 부분 또는 잘못 구성된 Kerberos 지원이 있는 환경에서 Kerberos 인증이 실패하면 인증이 자동으로 NTLM으로 대체됩니다.

  • mpiexec는 명령줄에서 유니코드 문자를 지원하며 더 이상 명령줄 길이에 대한 하드 코딩된 제한이 없습니다. 긴 경로 표기법(\\?\)도 지원됩니다.

  • 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_Iallgather, MPI_IscattervMPI_Igatherv. 이는 이미 지원되는 MPI_Ibcast, MPI_Ireduce, MPI_Igather및 MPI_Ibarrier 추가됩니다.

  • MSMPI_ND_PORT_RANGE 환경 변수를 사용하여 네트워크 직접 연결에 대한 포트 범위 구성 지원

  • 향상된 안정성 및 성능을 위해 개선된 프로세스 관리(mpiexec/smpd)

  • 집단 운영에 대한 성능 향상

  • MPI 시작 서비스 - MS-MPI v7에는 사용자가 제공한 자격 증명을 사용하여 로컬 및 원격 머신에 대한 MPI 프로세스를 시작할 수 있는 MS-MPI 시작 서비스가 도입되었습니다. MS-MPI 재배포 가능 패키지는 수동 모드에서 MS-MPI 시작 서비스를 설치합니다. 서비스를 시작하려면 다음 명령을 실행합니다.

    sc start MSMPILaunchSvc [options]

    서비스 시작 시 시작 서비스에 전달할 수 있는 옵션은 다음과 같습니다.

    • -p | -port port <> - 시작 서비스가 수신 대기 중인 포트를 변경합니다.

    • -g | -group group <name> - 지정된 그룹의 멤버만 MPI 애플리케이션을 실행할 수 있도록 허용합니다. 지정하지 않으면 기본값은 인증된 사용자입니다.

  • 시작 서비스에 대한 새 mpiexec 옵션 - 시작 서비스를 사용하여 프로세스를 시작하는 데 필요한 자격 증명을 제공할 수 있는 mpiexec(-pwd-savecreds)에 대한 두 가지 새로운 옵션이 있습니다. -pwd 옵션을 사용하면 비대화형 시나리오(예: 스크립트 또는 예약된 작업 사용)에서 제출하는 사용자의 암호를 지정할 수 있습니다. 이 경우 암호는 명확한 텍스트로 제공됩니다. -savecreds 옵션을 사용하면 제공된 자격 증명(-pwd로 지정된 경우)이 mpiexec 명령줄에 지정된 모든 호스트에 안전하게 저장됩니다.

    예를 들어 다음 명령은 사용자의 암호를 묻는 메시지를 표시하고 지정된 컴퓨터 host1 및 host2에 저장할지 묻는 메시지를 표시한 다음 host1 및 host2에서 3개의 프로세스를 시작합니다.

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

    또 다른 예로, 다음 명령은 제공된 암호를 사용하여 사용자를 인증하고, 지정된 컴퓨터 host1 및 host2에 저장한 다음, host1에서 하나, host2에서 두 개의 프로세스를 시작합니다.

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

    노드 집합에서 -savecreds 옵션을 사용하여 mpiexec을 실행한 후에는 암호가 변경되지 않는 한 해당 노드에 대한 후속 실행에 암호를 제공할 필요가 없습니다. 사용자가 대화형 모드에서 실행 중인 경우 시작 서비스가 실행 중이고 암호가 제공되지 않았거나 이전에 -savecreds 옵션과 함께 저장되지 않은 경우 mpiexec에서 암호를 묻는 메시지를 표시합니다.

HPC 팩 호환성

MS-MPI v7은 HPC Pack 2012 R2 이상과 호환됩니다. 이전 버전의 MS-MPI가 있는 호환되는 HPC 팩 버전을 실행하는 경우 MS-MPI를 v7로 업그레이드할 수 있습니다.

MS-MPI v6(2015년 5월)

MS-MPI v6은 MS-MPI v5 재배포 가능 패키지(2014년 11월에 릴리스됨)의 후속 버전입니다.

새 기능

MS-MPI v6에는 다음과 같은 새로운 기능, 개선 사항 및 수정 사항이 포함되어 있습니다.

  • MPI_Ibcast, MPI_Ireduce, MPI_IgatherMPI_Ibarrier 포함한 비 차단 집단 작업.

  • 다중 작업 선호도는 여러 선호도 MPI 작업이 실행되는 코어와 겹치지 않고 단일 머신에 공존할 수 있도록 지원합니다. 이제 MPI 런타임은 코어에 고정된 기존 작업이 있음을 감지하고 현재 사용되지 않는 코어에서 후속 작업을 시작합니다.

    이 기능은 mpiexec (-affinity_auto 또는 –aa)에 대한 새로운 옵션으로 노출되며 Microsoft HPC 팩과 같은 작업 스케줄러와 독립 실행형 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 팩 호환성

MS-MPI v6은 HPC Pack 2012 R2 이상과 호환됩니다. 이전 버전의 MS-MPI가 있는 호환되는 HPC 팩 버전을 실행하는 경우 MS-MPI를 v6으로 업그레이드할 수 있습니다.

기본 설정에 대한 변경 내용

MS-MPI v6은 다음 mpiexec 기본 설정을 변경합니다.

  • MSMPI_ND_ZCOPY_THRESHOLD -1로 설정되어 zcopy를 사용하지 않도록 설정합니다. mpiexec 명령줄에서 MSMPI_ND_ZCOPY_THRESHOLD=0을 설정하거나 cluscfg setenvs (Microsoft HPC 팩을 사용하는 경우)를 통해 다시 활성화할 수 있습니다.
  • MSMPI_HA_COLLECTIVE 모두로 설정되므로 기본적으로 계층적 집단을 사용할 수 있습니다. mpiexec 명령줄을 통해 또는 외부에서 다시 MSMPI_HA_COLLECTIVE=off를 설정하여 사용하지 않도록 설정할 수 있습니다.

사용되지 않는 기능

향후 릴리스에서 자동 튜너를 별도의 유틸리티로 이동하기 위해 이 버전의 기본 제공 자동 조정 기능은 더 이상 사용되지 않습니다.

커뮤니티 리소스

Microsoft MPI

MPI 참조