int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request) { int returnVal; request_list *newrq1; returnVal = PMPI_Recv_init( buf, count, datatype, source, tag, comm, request ); if (source != MPI_PROC_NULL && returnVal == MPI_SUCCESS) { if ((newrq1 = (request_list*) malloc(sizeof( request_list )))) { newrq1->request = *request; newrq1->status = RQ_RECV; newrq1->next = 0; rq_add( requests_head_1, requests_tail_1, newrq1 ); } } return returnVal; }
int memheap_oob_init(mca_memheap_map_t *map) { int rc = OSHMEM_SUCCESS; int i; oob_comm_request_t *r; memheap_map = map; OBJ_CONSTRUCT(&memheap_oob.lck, opal_mutex_t); OBJ_CONSTRUCT(&memheap_oob.cond, opal_condition_t); OBJ_CONSTRUCT(&memheap_oob.req_list, opal_list_t); for (i = 0; i < MEMHEAP_RECV_REQS_MAX; i++) { r = &memheap_oob.req_pool[i]; rc = PMPI_Recv_init(r->buf, sizeof(r->buf), MPI_BYTE, MPI_ANY_SOURCE, 0, oshmem_comm_world, &r->recv_req); if (MPI_SUCCESS != rc) { MEMHEAP_ERROR("Failed to created recv request %d", rc); return rc; } rc = PMPI_Start(&r->recv_req); if (MPI_SUCCESS != rc) { MEMHEAP_ERROR("Failed to post recv request %d", rc); return rc; } opal_list_append(&memheap_oob.req_list, &r->super); } opal_progress_register(oshmem_mkey_recv_cb); memheap_oob.is_inited = 1; return rc; }
int MPI_Recv_init( void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request ) { _MPI_COVERAGE(); return PMPI_Recv_init (buf, count, datatype, source, tag, comm, request); }
int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request * request) { return PMPI_Recv_init(buf, count, datatype, src, tag, comm, request); }