MSMPI_Waitsome_interruptible 함수
목록의 활성 핸들과 연결된 작업 중 하나 이상이 완료되거나 MSMPI_Queuelock_acquire 호출하는 다른 스레드에 의해 호출이 중단될 때까지 기다립니다.
구문
int MPIAPI MSMPI_Waitsome_interruptible(
int incount,
_Inout_count_(incount) MPI_Request array_of_requests[],
_Out_ int *outcount,
_Out_cap_post_count_(incount,*outcount) int array_of_indices[],
_Out_cap_post_count_(incount,*outcount) int array_of_statuses[]
);
매개 변수
incount
배열의 요청 수 array_of_requests.array_of_requests
완료를 기다릴 작업의 요청 핸들 배열입니다. 차단 해제 통신 함수에서 요청 핸들을 할당한 경우 할당이 취소되고 연결된 핸들이 MPI_REQUEST_NULL 설정됩니다.outcount [out]
완료된 array_of_requests 매개 변수에 지정된 요청 수와 array_of_indices 및array_of_statuses 배열의 요소 수입니다.array_of_requests 활성 핸들이 없으면 함수는 outcount 매개 변수가 MPI_UNDEFINED 설정된 즉시 반환됩니다.
요청이 완료되기 전에 이 함수가 중단되면 호출은 outcount 매개 변수가 0으로 설정된 상태에서 반환됩니다.
array_of_indices
완료된 작업의 array_of_requests 매개 변수 내의 인덱스를 반환합니다. 배열 인덱스는 C에서 0부터 시작하며 Fortran에서는 1부터 시작합니다.array_of_statuses
완료된 작업의 상태 반환합니다. 이 배열의 요소는 array_of_indices 배열의 요소에 해당합니다.
반환 값
성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.
Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.
함수가 MPI_ERR_IN_STATUS 이외의 오류를 반환하는 경우 array_of_statuses매개 변수 에서 상태의 오류 필드를 업데이트하지 않습니다.
설명
다중 스레드 환경에서 사용자는 MSMPI_Waitsome_interruptible 호출하기 전에 MSMPI_Queuelock_acquire 함수를 사용하여 전역 Microsoft MPI 잠금 을 가져와야 합니다. 이 함수는 다른 스레드가 MPI 라이브러리에 액세스하기 위해 MSMPI_Queuelock_acquire 함수를 호출할 때 중단됩니다.
이 함수는 표준의 확장입니다.
요구 사항
제품 |
HPC 팩 2012 MS-MPI 재배포 가능 패키지, HPC 팩 2008 R2 MS-MPI 재배포 가능 패키지, HPC Pack 2008 MS-MPI 재배포 가능 패키지 또는 HPC 팩 2008 클라이언트 유틸리티 |
헤더 |
Mpi.h |
라이브러리 |
Msmpi.lib |
DLL |
Msmpi.dll |