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 */
|
/* MPI request status */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
LAM_STATUS_INVALID = 1,
|
MCA_PML_STATUS_INVALID = 1,
|
||||||
LAM_STATUS_INITED = 2,
|
MCA_PML_STATUS_INITED = 2,
|
||||||
LAM_STATUS_INCOMPLETE = 3,
|
MCA_PML_STATUS_INCOMPLETE = 3,
|
||||||
LAM_STATUS_COMPLETE = 4,
|
MCA_PML_STATUS_COMPLETE = 4,
|
||||||
LAM_STATUS_INACTIVE = 5
|
MCA_PML_STATUS_INACTIVE = 5
|
||||||
} mca_pml_base_request_status_t;
|
} 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 */
|
/* MPI pml (point-to-point) request */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/* base request */
|
/* base request */
|
||||||
@ -37,10 +43,10 @@ typedef struct {
|
|||||||
lam_communicator_t *req_communicator;
|
lam_communicator_t *req_communicator;
|
||||||
/* pointer to data type */
|
/* pointer to data type */
|
||||||
lam_datatype_t *req_datatype;
|
lam_datatype_t *req_datatype;
|
||||||
|
/* MPI request type - used for test */
|
||||||
|
mca_pml_base_request_type_t req_type;
|
||||||
/* MPI request status */
|
/* MPI request status */
|
||||||
mca_pml_base_request_status_t req_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 */
|
/* persistence indicating if the this is a persistent request */
|
||||||
bool req_persistent;
|
bool req_persistent;
|
||||||
/* flag indicating if MPI is done with this request called */
|
/* 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 lam_list_t mca_pml_base_queue_t;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
MCA_PML_BASE_REQUEST_TYPE_RECV,
|
MCA_PML_BASE_SEND_STANDARD,
|
||||||
MCA_PML_BASE_REQUEST_TYPE_SEND_STANDARD,
|
MCA_PML_BASE_SEND_BUFFERED,
|
||||||
MCA_PML_BASE_REQUEST_TYPE_SEND_BUFFERED,
|
MCA_PML_BASE_SEND_SYNCHRONOUS,
|
||||||
MCA_PML_BASE_REQUEST_TYPE_SEND_SYNCHRONOUS,
|
MCA_PML_BASE_SEND_READY
|
||||||
MCA_PML_BASE_REQUEST_TYPE_SEND_READY
|
} mca_pml_base_send_type_t;
|
||||||
} mca_pml_base_request_type_t;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -56,7 +55,7 @@ typedef int (*mca_pml_base_isend_fn_t)(
|
|||||||
int dest,
|
int dest,
|
||||||
int tag,
|
int tag,
|
||||||
struct lam_communicator_t* comm,
|
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
|
struct lam_request_t **request
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ int mca_pml_teg_isend(
|
|||||||
int dest,
|
int dest,
|
||||||
int tag,
|
int tag,
|
||||||
lam_communicator_t* comm,
|
lam_communicator_t* comm,
|
||||||
mca_pml_base_request_type_t req_type,
|
mca_pml_base_send_type_t req_type,
|
||||||
lam_request_t **request)
|
lam_request_t **request)
|
||||||
{
|
{
|
||||||
int rc;
|
int rc;
|
||||||
|
@ -13,6 +13,14 @@
|
|||||||
#include "mca/mpi/pml/base/pml_base_sendreq.h"
|
#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.
|
* 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.
|
* PTL action functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef int (*mca_ptl_fragment_fn_t)(mca_pml_base_send_request_t*, size_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_pml_base_tstamp_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
|
* Struct used to pass PTL module information from the each PTL
|
||||||
* instance back to the MCA framework.
|
* 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_t ptlm_version;
|
||||||
mca_base_module_data_1_0_0_t ptlm_data;
|
mca_base_module_data_1_0_0_t ptlm_data;
|
||||||
|
|
||||||
mca_ptl_query_fn_t ptlm_query;
|
mca_ptl_query_fn_t ptlm_query;
|
||||||
mca_ptl_init_1_0_0_fn_t ptlm_init;
|
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
|
* Struct that represents the common state and interface functions
|
||||||
* provided by a PTL.
|
* provided by a PTL.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
typedef struct mca_ptl_1_0_0 {
|
struct mca_ptl_1_0_0_t {
|
||||||
|
|
||||||
/* PTL common attributes */
|
/* PTL common attributes */
|
||||||
size_t ptl_frag_first_size; /* maximum size of first fragment */
|
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_fragment_fn_t ptl_fragment;
|
||||||
mca_ptl_progress_fn_t ptl_progress;
|
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
|
* Global functions for MCA: overall PTL open and close
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user