1
1
openmpi/ompi/mca/mtl/ofi/mtl_ofi_opt.h

77 строки
2.6 KiB
C
Исходник Обычный вид История

/*
* Copyright (c) 2013-2018 Intel, Inc. All rights reserved
*
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef MTL_OFI_OPT_H
#define MTL_OFI_OPT_H
#include "mtl_ofi.h"
BEGIN_C_DECLS
#define CQ_DATA_TYPES 2
#define OMPI_MTL_OFI_SEND_TYPES [CQ_DATA_TYPES]
#define OMPI_MTL_OFI_ISEND_TYPES [CQ_DATA_TYPES]
#define OMPI_MTL_OFI_IRECV_TYPES [CQ_DATA_TYPES]
#define OMPI_MTL_OFI_IPROBE_TYPES [CQ_DATA_TYPES]
#define OMPI_MTL_OFI_IMPROBE_TYPES [CQ_DATA_TYPES]
struct ompi_mtl_ofi_symtable {
int (*ompi_mtl_ofi_send OMPI_MTL_OFI_SEND_TYPES )
(struct mca_mtl_base_module_t *mtl,
struct ompi_communicator_t *comm,
int dest,
int tag,
struct opal_convertor_t *convertor,
mca_pml_base_send_mode_t mode);
int (*ompi_mtl_ofi_isend OMPI_MTL_OFI_ISEND_TYPES )
(struct mca_mtl_base_module_t *mtl,
struct ompi_communicator_t *comm,
int dest,
int tag,
struct opal_convertor_t *convertor,
mca_pml_base_send_mode_t mode,
bool blocking,
mca_mtl_request_t *mtl_request);
int (*ompi_mtl_ofi_irecv OMPI_MTL_OFI_IRECV_TYPES )
(struct mca_mtl_base_module_t *mtl,
struct ompi_communicator_t *comm,
int src,
int tag,
struct opal_convertor_t *convertor,
mca_mtl_request_t *mtl_request);
int (*ompi_mtl_ofi_iprobe OMPI_MTL_OFI_IPROBE_TYPES )
(struct mca_mtl_base_module_t *mtl,
struct ompi_communicator_t *comm,
int src,
int tag,
int *flag,
struct ompi_status_public_t *status);
int (*ompi_mtl_ofi_improbe OMPI_MTL_OFI_IMPROBE_TYPES )
(struct mca_mtl_base_module_t *mtl,
struct ompi_communicator_t *comm,
int src,
int tag,
int *matched,
struct ompi_message_t **message,
struct ompi_status_public_t *status);
};
/**
* MTL OFI specialization function symbol table init
*/
void ompi_mtl_ofi_send_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
void ompi_mtl_ofi_isend_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
void ompi_mtl_ofi_irecv_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
void ompi_mtl_ofi_iprobe_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
void ompi_mtl_ofi_improbe_symtable_init(struct ompi_mtl_ofi_symtable* sym_table);
END_C_DECLS
#endif /* MTL_OFI_OPT_H */