int mca_spml_ikrit_put(shmem_ctx_t ctx, void* dst_addr, size_t size, void* src_addr, int dst) { int err; mca_spml_ikrit_put_request_t *put_req; mxm_wait_t wait; put_req = 0; err = mca_spml_ikrit_put_internal(dst_addr, size, src_addr, dst, (void **) &put_req, 0); if (OSHMEM_SUCCESS != err) { SPML_ERROR("put failed - aborting"); oshmem_shmem_abort(-1); return OSHMEM_ERROR; } if (!put_req) return OSHMEM_SUCCESS; wait.req = &put_req->mxm_req.base; wait.state = (mxm_req_state_t)(MXM_REQ_SENT | MXM_REQ_COMPLETED); wait.progress_cb = NULL; wait.progress_arg = NULL; mxm_wait(&wait); return OSHMEM_SUCCESS; }
int mca_spml_ikrit_put_nb(void* dst_addr, size_t size, void* src_addr, int dst, void **handle) { int err; err = mca_spml_ikrit_put_internal(dst_addr, size, src_addr, dst, handle, 1); if (OSHMEM_SUCCESS != err) { SPML_ERROR("put failed - aborting"); oshmem_shmem_abort(-1); return OSHMEM_ERROR; } return OSHMEM_SUCCESS; }