changed isend i/f
This commit was SVN r307.
Этот коммит содержится в:
родитель
7ea0ee6167
Коммит
e39b8fd32b
@ -17,14 +17,20 @@ extern lam_class_info_t mca_pml_base_request_cls;
|
||||
|
||||
/* MPI request status */
|
||||
typedef enum {
|
||||
LAM_STATUS_INVALID = 1,
|
||||
LAM_STATUS_INITED = 2,
|
||||
LAM_STATUS_INCOMPLETE = 3,
|
||||
LAM_STATUS_COMPLETE = 4,
|
||||
LAM_STATUS_INACTIVE = 5
|
||||
MCA_PML_STATUS_INVALID = 1,
|
||||
MCA_PML_STATUS_INITED = 2,
|
||||
MCA_PML_STATUS_INCOMPLETE = 3,
|
||||
MCA_PML_STATUS_COMPLETE = 4,
|
||||
MCA_PML_STATUS_INACTIVE = 5
|
||||
} mca_pml_base_request_status_t;
|
||||
|
||||
|
||||
typedef enum {
|
||||
MCA_PML_REQUEST_SEND,
|
||||
MCA_PML_REQUEST_RECV
|
||||
} mca_pml_base_request_type_t;
|
||||
|
||||
|
||||
/* MPI pml (point-to-point) request */
|
||||
typedef struct {
|
||||
/* base request */
|
||||
@ -37,10 +43,10 @@ typedef struct {
|
||||
lam_communicator_t *req_communicator;
|
||||
/* pointer to data type */
|
||||
lam_datatype_t *req_datatype;
|
||||
/* MPI request type - used for test */
|
||||
mca_pml_base_request_type_t req_type;
|
||||
/* MPI request status */
|
||||
mca_pml_base_request_status_t req_status;
|
||||
/* type of message - standard,buffered,synchronous,ready,recv */
|
||||
mca_pml_base_request_type_t req_type;
|
||||
/* persistence indicating if the this is a persistent request */
|
||||
bool req_persistent;
|
||||
/* flag indicating if MPI is done with this request called */
|
||||
|
@ -35,12 +35,11 @@ typedef uint64_t mca_pml_base_tstamp_t;
|
||||
typedef lam_list_t mca_pml_base_queue_t;
|
||||
|
||||
typedef enum {
|
||||
MCA_PML_BASE_REQUEST_TYPE_RECV,
|
||||
MCA_PML_BASE_REQUEST_TYPE_SEND_STANDARD,
|
||||
MCA_PML_BASE_REQUEST_TYPE_SEND_BUFFERED,
|
||||
MCA_PML_BASE_REQUEST_TYPE_SEND_SYNCHRONOUS,
|
||||
MCA_PML_BASE_REQUEST_TYPE_SEND_READY
|
||||
} mca_pml_base_request_type_t;
|
||||
MCA_PML_BASE_SEND_STANDARD,
|
||||
MCA_PML_BASE_SEND_BUFFERED,
|
||||
MCA_PML_BASE_SEND_SYNCHRONOUS,
|
||||
MCA_PML_BASE_SEND_READY
|
||||
} mca_pml_base_send_type_t;
|
||||
|
||||
|
||||
/*
|
||||
@ -56,7 +55,7 @@ typedef int (*mca_pml_base_isend_fn_t)(
|
||||
int dest,
|
||||
int tag,
|
||||
struct lam_communicator_t* comm,
|
||||
mca_pml_base_request_type_t req_type,
|
||||
mca_pml_base_send_type_t type,
|
||||
struct lam_request_t **request
|
||||
);
|
||||
|
||||
|
@ -13,7 +13,7 @@ int mca_pml_teg_isend(
|
||||
int dest,
|
||||
int tag,
|
||||
lam_communicator_t* comm,
|
||||
mca_pml_base_request_type_t req_type,
|
||||
mca_pml_base_send_type_t req_type,
|
||||
lam_request_t **request)
|
||||
{
|
||||
int rc;
|
||||
|
@ -13,6 +13,14 @@
|
||||
#include "mca/mpi/pml/base/pml_base_sendreq.h"
|
||||
|
||||
|
||||
/*
|
||||
* Set the default type to use version 1.0.0 of the PTL
|
||||
*/
|
||||
|
||||
typedef struct mca_ptl_module_1_0_0_t mca_ptl_module_t;
|
||||
typedef struct mca_ptl_1_0_0_t mca_ptl_t;
|
||||
|
||||
|
||||
/*
|
||||
* PTL module functions.
|
||||
*/
|
||||
@ -24,28 +32,30 @@ typedef struct mca_ptl_1_0_0* (*mca_ptl_init_1_0_0_fn_t)();
|
||||
* PTL action functions.
|
||||
*/
|
||||
|
||||
typedef int (*mca_ptl_fragment_fn_t)(mca_pml_base_send_request_t*, size_t);
|
||||
typedef int (*mca_ptl_progress_fn_t)(mca_pml_base_tstamp_t);
|
||||
typedef int (*mca_ptl_fragment_fn_t)(mca_ptl_t*, mca_pml_base_send_request_t*, size_t);
|
||||
typedef int (*mca_ptl_progress_fn_t)(mca_ptl_t*, mca_pml_base_tstamp_t);
|
||||
|
||||
/*
|
||||
* Struct used to pass PTL module information from the each PTL
|
||||
* instance back to the MCA framework.
|
||||
*/
|
||||
|
||||
typedef struct mca_ptl_module_1_0_0 {
|
||||
struct mca_ptl_module_1_0_0_t {
|
||||
mca_base_module_t ptlm_version;
|
||||
mca_base_module_data_1_0_0_t ptlm_data;
|
||||
|
||||
mca_ptl_query_fn_t ptlm_query;
|
||||
mca_ptl_init_1_0_0_fn_t ptlm_init;
|
||||
} mca_ptl_module_1_0_0_t;
|
||||
};
|
||||
|
||||
typedef struct mca_ptl_module_1_0_0_t mca_ptl_module_1_0_0_t;
|
||||
|
||||
/*
|
||||
* Struct that represents the common state and interface functions
|
||||
* provided by a PTL.
|
||||
*/
|
||||
|
||||
typedef struct mca_ptl_1_0_0 {
|
||||
struct mca_ptl_1_0_0_t {
|
||||
|
||||
/* PTL common attributes */
|
||||
size_t ptl_frag_first_size; /* maximum size of first fragment */
|
||||
@ -59,16 +69,9 @@ typedef struct mca_ptl_1_0_0 {
|
||||
mca_ptl_fragment_fn_t ptl_fragment;
|
||||
mca_ptl_progress_fn_t ptl_progress;
|
||||
|
||||
} mca_ptl_1_0_0_t;
|
||||
|
||||
|
||||
/*
|
||||
* Set the default type to use version 1.0.0 of the PTL
|
||||
*/
|
||||
|
||||
typedef mca_ptl_module_1_0_0_t mca_ptl_module_t;
|
||||
typedef mca_ptl_1_0_0_t mca_ptl_t;
|
||||
};
|
||||
|
||||
typedef struct mca_ptl_1_0_0_t mca_ptl_1_0_0_t;
|
||||
|
||||
/*
|
||||
* Global functions for MCA: overall PTL open and close
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user