1
1

first part of the changes trequired to support non-blocking colelctive io operations

Этот коммит содержится в:
Edgar Gabriel 2015-06-01 09:08:15 -05:00
родитель 706884652f
Коммит 19cac73a9b
5 изменённых файлов: 53 добавлений и 9 удалений

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved.
* Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -36,11 +36,15 @@ static mca_fcoll_base_module_1_0_0_t dynamic = {
mca_fcoll_dynamic_module_init,
mca_fcoll_dynamic_module_finalize,
mca_fcoll_dynamic_file_read_all,
NULL, /* iread_all */
mca_fcoll_dynamic_file_read_all_begin,
mca_fcoll_dynamic_file_read_all_end,
mca_fcoll_dynamic_file_write_all,
NULL, /*iwrite_all */
mca_fcoll_dynamic_file_write_all_begin,
mca_fcoll_dynamic_file_write_all_end
mca_fcoll_dynamic_file_write_all_end,
NULL, /* progress */
NULL /* request_free */
};
int

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

@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved.
* Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved.
* $COPYRIGHT$
@ -27,10 +27,12 @@
#include "mpi.h"
#include "ompi/mca/mca.h"
#include "opal/mca/base/base.h"
#include "ompi/request/request.h"
BEGIN_C_DECLS
struct mca_io_ompio_file_t;
struct mca_fcoll_request_t;
/*
* Macro for use in components that are of type coll
@ -115,6 +117,13 @@ typedef int (*mca_fcoll_base_module_file_read_all_fn_t)
struct ompi_datatype_t *datatype,
ompi_status_public_t *status);
typedef int (*mca_fcoll_base_module_file_iread_all_fn_t)
(struct mca_io_ompio_file_t *fh,
void *buf,
int count,
struct ompi_datatype_t *datatype,
ompi_request_t **request);
typedef int (*mca_fcoll_base_module_file_read_all_begin_fn_t)
(struct mca_io_ompio_file_t *fh,
void *buf,
@ -133,6 +142,13 @@ typedef int (*mca_fcoll_base_module_file_write_all_fn_t)
struct ompi_datatype_t *datatype,
ompi_status_public_t *status);
typedef int (*mca_fcoll_base_module_file_iwrite_all_fn_t)
(struct mca_io_ompio_file_t *fh,
void *buf,
int count,
struct ompi_datatype_t *datatype,
ompi_request_t **request);
typedef int (*mca_fcoll_base_module_file_write_all_begin_fn_t)
(struct mca_io_ompio_file_t *fh,
void *buf,
@ -144,6 +160,13 @@ typedef int (*mca_fcoll_base_module_file_write_all_end_fn_t)
void *buf,
ompi_status_public_t *status);
typedef bool (*mca_fcoll_base_module_progress_fn_t)
( struct mca_fcoll_request_t *request);
typedef void (*mca_fcoll_base_module_request_free_fn_t)
( struct mca_fcoll_request_t *request);
/*
* ***********************************************************************
* *************************** module structure *************************
@ -160,11 +183,16 @@ struct mca_fcoll_base_module_1_0_0_t {
/* FCOLL function pointers */
mca_fcoll_base_module_file_read_all_fn_t fcoll_file_read_all;
mca_fcoll_base_module_file_iread_all_fn_t fcoll_file_iread_all;
mca_fcoll_base_module_file_read_all_begin_fn_t fcoll_file_read_all_begin;
mca_fcoll_base_module_file_read_all_end_fn_t fcoll_file_read_all_end;
mca_fcoll_base_module_file_write_all_fn_t fcoll_file_write_all;
mca_fcoll_base_module_file_iwrite_all_fn_t fcoll_file_iwrite_all;
mca_fcoll_base_module_file_write_all_begin_fn_t fcoll_file_write_all_begin;
mca_fcoll_base_module_file_write_all_end_fn_t fcoll_file_write_all_end;
mca_fcoll_base_module_progress_fn_t fcoll_progress;
mca_fcoll_base_module_request_free_fn_t fcoll_request_free;
};
typedef struct mca_fcoll_base_module_1_0_0_t mca_fcoll_base_module_1_0_0_t;
typedef mca_fcoll_base_module_1_0_0_t mca_fcoll_base_module_t;

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved.
* Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -36,11 +36,15 @@ static mca_fcoll_base_module_1_0_0_t individual = {
mca_fcoll_individual_module_init,
mca_fcoll_individual_module_finalize,
mca_fcoll_individual_file_read_all,
NULL, /* iread_all */
mca_fcoll_individual_file_read_all_begin,
mca_fcoll_individual_file_read_all_end,
mca_fcoll_individual_file_write_all,
NULL, /* iwrite_all */
mca_fcoll_individual_file_write_all_begin,
mca_fcoll_individual_file_write_all_end
mca_fcoll_individual_file_write_all_end,
NULL, /* progress */
NULL /* request_free */
};
int

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved.
* Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -36,11 +36,15 @@ static mca_fcoll_base_module_1_0_0_t static_t = {
mca_fcoll_static_module_init,
mca_fcoll_static_module_finalize,
mca_fcoll_static_file_read_all,
NULL, /* iread_all */
mca_fcoll_static_file_read_all_begin,
mca_fcoll_static_file_read_all_end,
mca_fcoll_static_file_write_all,
NULL, /* iwrite_all */
mca_fcoll_static_file_write_all_begin,
mca_fcoll_static_file_write_all_end
mca_fcoll_static_file_write_all_end,
NULL, /* progress */
NULL /* request_free */
};
int

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved.
* Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
@ -36,11 +36,15 @@ static mca_fcoll_base_module_1_0_0_t two_phase = {
mca_fcoll_two_phase_module_init,
mca_fcoll_two_phase_module_finalize,
mca_fcoll_two_phase_file_read_all,
NULL,
mca_fcoll_two_phase_file_read_all_begin,
mca_fcoll_two_phase_file_read_all_end,
mca_fcoll_two_phase_file_write_all,
NULL,
mca_fcoll_two_phase_file_write_all_begin,
mca_fcoll_two_phase_file_write_all_end
mca_fcoll_two_phase_file_write_all_end,
NULL, /* progress */
NULL /* request_free */
};
int