다음을 통해 공유


MPI_Init_thread 함수

스레드 실행을 위해 호출 MPI 프로세스의 실행 환경을 초기화합니다.

구문

int MPIAPI MPI_Init_thread(
  _In_opt_ int                        *argc,
           _In_opt_count_(*argc) char ***argv,
  _In_     int                        required,
  _Out_    int                        *provided
);

매개 변수

  • argc [in, optional]
    프로그램의 인수 수에 대한 포인터입니다. 이 값은 NULL일 수 있습니다.

  • argv [선택 사항]
    프로그램의 인수 목록에 대한 포인터입니다. 이 값은 NULL일 수 있습니다.

  • 필수 [in]
    원하는 스레드 지원 수준입니다. 동일한 작업의 여러 MPI 프로세스가 서로 다른 값을 사용할 수 있습니다.

    MPI_THREAD_SINGLE 프로그램의 단일 스레드만 실행됩니다.
    MPI_THREAD_FUNNELED 프로세스에는 여러 스레드가 포함될 수 있지만 MPI_Init_thread 호출한 스레드는 MPI 함수 호출을 만드는 유일한 스레드입니다.
    MPI_THREAD_SERIALIZED 프로세스에는 여러 스레드가 포함될 수 있으며 이러한 모든 스레드는 MPI 함수 호출을 수행하지만 한 번에 하나만 호출할 수 있습니다.
    MPI_THREAD_MULTIPLE 여러 애플리케이션 스레드는 제한 없이 MPI 함수를 호출할 수 있습니다. 이 값은 현재 Windows Server 2012, Windows Server 2012 R2, Windows 8 및 Windows 8.1 실행되는 MS-MPI V6에서만 지원됩니다.

     

  • 제공됨 [out]
    제공된 스레드 지원 수준입니다. 반환되는 값은 위의 표에서 가져옵니다.

     

반환 값

함수 가 성공적으로 반환되는지 MPI_SUCCESS. 다른 이유(예: 잘못된 인수)로 인해 호출이 실패한 경우의 다른 오류 코드입니다.

Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.

Fortran

    MPI_INIT_THREAD(REQUIRED, PROVIDED, IERROR)
        INTEGER REQUIRED, PROVIDED, IERROR

설명

이 함수는 하나의 스레드에서만 호출해야 합니다. 해당 스레드를 "주 스레드"라고 하며 MPI_Finalize 호출하는 동일한 스레드여야 합니다.

MPI_Init_thread Fortran 바인딩은 ARGC 및 ARGV 매개 변수를 허용하지 않습니다.

요구 사항

제품

HPC Pack 2012 MS-MPI 재배포 가능 패키지, HPC Pack 2008 R2 MS-MPI 재배포 가능 패키지, HPC Pack 2008 MS-MPI 재배포 가능 패키지 또는 HPC Pack 2008 클라이언트 유틸리티

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI 외부 함수

MPI_Finalize

MPI_Init