⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpi_waitany.3

📁 MPI stands for the Message Passing Interface. Written by the MPI Forum (a large committee comprising
💻 3
字号:
.\"Copyright 2006, Sun Microsystems, Inc..\" Copyright (c) 1996 Thinking Machines Corporation.TH MPI_Waitany 3OpenMPI "September 2006" "Open MPI 1.2" " ".SH NAME\fBMPI_Waitany\fP \- Waits for any specified send or receive to complete..SH SYNTAX.ft R.SH C Syntax.nf#include <mpi.h>int MPI_Waitany(int \fIcount\fP, MPI_Request\fI *array_of_requests\fP,	int \fI*index\fP, MPI_Status\fI *status\fP).SH Fortran Syntax.nfINCLUDE 'mpif.h'MPI_WAITANY(\fICOUNT, ARRAY_OF_REQUESTS, INDEX, STATUS, IERROR\fP)	INTEGER	\fICOUNT, ARRAY_OF_REQUESTS(*), INDEX\fP	INTEGER	\fISTATUS(MPI_STATUS_SIZE), IERROR\fP .SH C++ Syntax.nf#include <mpi.h>static int Request::Waitany(int \fIcount\fP, Request 	\fIarray_of_requests\fP[], Status& \fIstatus\fP)static int Request::Waitany(int \fIcount\fP, Request \fIarray_of_requests\fP[]).SH INPUT PARAMETERS.ft R.TP 1icount      List length (integer)..TP 1iarray_of_requestsArray of requests (array of handles)..sp.SH OUTPUT PARAMETERS.ft R.TP 1iindex      Index of handle for operation that completed (integer). In the range 0 tocount-1.  In Fortran, the range is 1 to count..TP 1istatus      Status object (status)..sp.ft R.TP 1iIERRORFortran only: Error status (integer). .SH DESCRIPTION.ft RA call to MPI_Waitany can be used to wait for the completion of one out of several requests. .spThe array_of_requests list may contain null or inactive handles. If the list contains no active handles (list has length zero or all entries are null or inactive), then the call returns immediately with index = MPI_UNDEFINED, and an empty status. .spThe execution of MPI_Waitany(count, array_of_requests, index, status) has the same effect as the execution of MPI_Wait(&array_of_requests[i], status), where i is the value returned by index (unless the value of index is MPI_UNDEFINED). MPI_Waitany with an array containing one active entry is equivalent to MPI_Wait..spIf your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. .sp\fBExample:\fR Client-server code (starvation can occur). .sp.nf    CALL MPI_COMM_SIZE(comm, size, ierr)     CALL MPI_COMM_RANK(comm, rank, ierr)     IF(rank .GT 0) THEN         ! client code         DO WHILE(.TRUE.)            CALL MPI_ISEND(a, n, MPI_REAL, 0, tag, comm, request, ierr)            CALL MPI_WAIT(request, status, ierr)         END DO     ELSE         ! rank=0 -- server code            DO i=1, size-1               CALL MPI_IRECV(a(1,i), n, MPI_REAL, i tag,                        comm, request_list(i), ierr)            END DO            DO WHILE(.TRUE.)               CALL MPI_WAITANY(size-1, request_list, index, status, ierr)               CALL DO_SERVICE(a(1,index))  ! handle one message               CALL MPI_IRECV(a(1, index), n, MPI_REAL, index, tag,                         comm, request_list(index), ierr)            END DO     END IF .fi.sp.SH ERRORSAlmost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object..spBefore the error value is returned, the current MPI error handler iscalled. By default, this error handler aborts the MPI job, except forI/O function errors. The error handler may be changed withMPI_Comm_set_errhandler, MPI_File_set_errhandler, orMPI_Win_set_errhandler (depending on the type of MPI handle thatgenerated the request); the predefined error handler MPI_ERRORS_RETURNmay be used to cause error values to be returned. Note that MPI doesnot guarantee that an MPI program can continue past an error..spNote that per MPI-1 section 3.2.5, MPI exceptions on requests passedto MPI_WAITANY do not set the status.MPI_ERROR field in the returnedstatus.  The error code is passed to the back-end error handler andmay be passed back to the caller through the return value ofMPI_WAITANY if the back-end error handler returns it.  The pre-definedMPI error handler MPI_ERRORS_RETURN exhibits this behavior, forexample..SH SEE ALSO.ft R.spMPI_Comm_set_errhandler.brMPI_File_set_errhandler.brMPI_Test.brMPI_Testall.brMPI_Testany.brMPI_Testsome.brMPI_Wait.brMPI_Waitall.brMPI_Waitsome.brMPI_Win_set_errhandler.br' @(#)MPI_Waitany.3 1.22 06/03/09

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -