mtl_mx_recv.c
来自「MPI stands for the Message Passing Inter」· C语言 代码 · 共 85 行
C
85 行
/* * Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana * University Research and Technology * Corporation. All rights reserved. * Copyright (c) 2004-2005 The University of Tennessee and The University * of Tennessee Research Foundation. All rights * reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2006 The Regents of the University of California. * All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */#include "ompi_config.h"#include "ompi/request/request.h"#include "ompi/datatype/datatype.h"#include "ompi/communicator/communicator.h"#include "ompi/datatype/convertor.h"#include "ompi/mca/mtl/base/mtl_base_datatype.h"#include "mtl_mx.h"#include "mtl_mx_types.h"#include "mtl_mx_request.h"intompi_mtl_mx_irecv(struct mca_mtl_base_module_t* mtl, struct ompi_communicator_t *comm, int src, int tag, struct ompi_convertor_t *convertor, struct mca_mtl_request_t *mtl_request){ int ret; mx_return_t mx_return; mca_mtl_mx_request_t * mtl_mx_request = (mca_mtl_mx_request_t*) mtl_request; uint64_t match_bits; uint64_t mask_bits; size_t length; ret = ompi_mtl_datatype_recv_buf(convertor, &mtl_mx_request->mx_segment[0].segment_ptr, &length, &mtl_mx_request->free_after); mtl_mx_request->mx_segment[0].segment_length = length; mtl_mx_request->convertor = convertor; mtl_mx_request->type = OMPI_MTL_MX_IRECV; if(OMPI_SUCCESS != ret) return ret; MX_SET_RECV_BITS(match_bits, mask_bits, comm->c_contextid, src, tag); OPAL_OUTPUT_VERBOSE((50, ompi_mtl_base_output, "recv bits: 0x%016llx 0x%016llx\n", match_bits, mask_bits)); mx_return = mx_irecv( ompi_mtl_mx.mx_endpoint, mtl_mx_request->mx_segment, 1, match_bits, mask_bits, mtl_mx_request, &mtl_mx_request->mx_request); if(mx_return != MX_SUCCESS) { opal_output(ompi_mtl_base_output, "Error in mx_irecv (error %s)\n", mx_strerror(mx_return)); return OMPI_ERROR; } return OMPI_SUCCESS;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?