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 */ /* 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