1
1
This commit was SVN r307.
Этот коммит содержится в:
Tim Woodall 2004-01-12 19:17:09 +00:00
родитель 7ea0ee6167
Коммит e39b8fd32b
4 изменённых файлов: 37 добавлений и 29 удалений

Просмотреть файл

@ -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