Коммит
dbfd6e6e5e
@ -55,6 +55,7 @@ static ompi_errcode_intern_t ompi_err_rma_attach_intern;
|
||||
static ompi_errcode_intern_t ompi_err_rma_range_intern;
|
||||
static ompi_errcode_intern_t ompi_err_rma_conflict_intern;
|
||||
static ompi_errcode_intern_t ompi_err_win_intern;
|
||||
static ompi_errcode_intern_t ompi_err_rma_flavor_intern;
|
||||
|
||||
static void ompi_errcode_intern_construct(ompi_errcode_intern_t* errcode);
|
||||
static void ompi_errcode_intern_destruct(ompi_errcode_intern_t* errcode);
|
||||
@ -250,6 +251,14 @@ int ompi_errcode_intern_init (void)
|
||||
opal_pointer_array_set_item(&ompi_errcodes_intern, ompi_err_win_intern.index,
|
||||
&ompi_err_win_intern);
|
||||
|
||||
OBJ_CONSTRUCT(&ompi_err_rma_flavor_intern, ompi_errcode_intern_t);
|
||||
ompi_err_rma_flavor_intern.code = OMPI_ERR_RMA_FLAVOR;
|
||||
ompi_err_rma_flavor_intern.mpi_code = MPI_ERR_RMA_FLAVOR;
|
||||
ompi_err_rma_flavor_intern.index = pos++;
|
||||
strncpy(ompi_err_rma_flavor_intern.errstring, "OMPI_ERR_RMA_FLAVOR", OMPI_MAX_ERROR_STRING);
|
||||
opal_pointer_array_set_item(&ompi_errcodes_intern, ompi_err_rma_flavor_intern.index,
|
||||
&ompi_err_rma_flavor_intern);
|
||||
|
||||
ompi_errcode_intern_lastused=pos;
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
@ -279,6 +288,7 @@ int ompi_errcode_intern_finalize(void)
|
||||
OBJ_DESTRUCT(&ompi_err_rma_range_intern);
|
||||
OBJ_DESTRUCT(&ompi_err_rma_conflict_intern);
|
||||
OBJ_DESTRUCT(&ompi_err_win_intern);
|
||||
OBJ_DESTRUCT(&ompi_err_rma_flavor_intern);
|
||||
|
||||
OBJ_DESTRUCT(&ompi_errcodes_intern);
|
||||
return OMPI_SUCCESS;
|
||||
|
@ -71,6 +71,7 @@ enum {
|
||||
OMPI_ERR_RMA_RANGE = OMPI_ERR_BASE - 5,
|
||||
OMPI_ERR_RMA_CONFLICT = OMPI_ERR_BASE - 6,
|
||||
OMPI_ERR_WIN = OMPI_ERR_BASE - 7,
|
||||
OMPI_ERR_RMA_FLAVOR = OMPI_ERR_BASE - 8,
|
||||
};
|
||||
|
||||
#define OMPI_ERR_MAX (OMPI_ERR_BASE - 100)
|
||||
|
@ -27,6 +27,10 @@
|
||||
|
||||
static const char FUNC_NAME[] = "MPI_Win_get_info";
|
||||
|
||||
static void _win_info_set (ompi_info_t *info, const char *key, int set)
|
||||
{
|
||||
ompi_info_set (info, key, set ? "true" : "false");
|
||||
}
|
||||
|
||||
int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used)
|
||||
{
|
||||
@ -50,11 +54,10 @@ int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used)
|
||||
|
||||
if (OMPI_SUCCESS == ret && *info_used) {
|
||||
/* set standard info keys based on what the OSC module is using */
|
||||
if (win->w_flags & OMPI_WIN_NO_LOCKS) {
|
||||
ompi_info_set (*info_used, "no_locks", "true");
|
||||
} else {
|
||||
ompi_info_set (*info_used, "no_locks", "false");
|
||||
}
|
||||
|
||||
_win_info_set (*info_used, "no_locks", win->w_flags & OMPI_WIN_NO_LOCKS);
|
||||
_win_info_set (*info_used, "same_size", win->w_flags & OMPI_WIN_SAME_SIZE);
|
||||
_win_info_set (*info_used, "same_disp_unit", win->w_flags & OMPI_WIN_SAME_DISP);
|
||||
}
|
||||
|
||||
OMPI_ERRHANDLER_RETURN(ret, win, ret, FUNC_NAME);
|
||||
|
@ -41,6 +41,8 @@ BEGIN_C_DECLS
|
||||
#define OMPI_WIN_FREED 0x00000001
|
||||
#define OMPI_WIN_INVALID 0x00000002
|
||||
#define OMPI_WIN_NO_LOCKS 0x00000004
|
||||
#define OMPI_WIN_SAME_DISP 0x00000008
|
||||
#define OMPI_WIN_SAME_SIZE 0x00000010
|
||||
|
||||
OMPI_DECLSPEC extern opal_pointer_array_t ompi_mpi_windows;
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user