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. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * 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_init,
mca_fcoll_dynamic_module_finalize, mca_fcoll_dynamic_module_finalize,
mca_fcoll_dynamic_file_read_all, mca_fcoll_dynamic_file_read_all,
NULL, /* iread_all */
mca_fcoll_dynamic_file_read_all_begin, mca_fcoll_dynamic_file_read_all_begin,
mca_fcoll_dynamic_file_read_all_end, mca_fcoll_dynamic_file_read_all_end,
mca_fcoll_dynamic_file_write_all, mca_fcoll_dynamic_file_write_all,
NULL, /*iwrite_all */
mca_fcoll_dynamic_file_write_all_begin, 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 int

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

@ -10,7 +10,7 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * 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 * Copyright (c) 2015 Los Alamos National Security, LLC. All rights
* reserved. * reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -27,10 +27,12 @@
#include "mpi.h" #include "mpi.h"
#include "ompi/mca/mca.h" #include "ompi/mca/mca.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "ompi/request/request.h"
BEGIN_C_DECLS BEGIN_C_DECLS
struct mca_io_ompio_file_t; struct mca_io_ompio_file_t;
struct mca_fcoll_request_t;
/* /*
* Macro for use in components that are of type coll * 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, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); 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) typedef int (*mca_fcoll_base_module_file_read_all_begin_fn_t)
(struct mca_io_ompio_file_t *fh, (struct mca_io_ompio_file_t *fh,
void *buf, void *buf,
@ -133,6 +142,13 @@ typedef int (*mca_fcoll_base_module_file_write_all_fn_t)
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); 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) typedef int (*mca_fcoll_base_module_file_write_all_begin_fn_t)
(struct mca_io_ompio_file_t *fh, (struct mca_io_ompio_file_t *fh,
void *buf, void *buf,
@ -144,6 +160,13 @@ typedef int (*mca_fcoll_base_module_file_write_all_end_fn_t)
void *buf, void *buf,
ompi_status_public_t *status); 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 ************************* * *************************** module structure *************************
@ -160,11 +183,16 @@ struct mca_fcoll_base_module_1_0_0_t {
/* FCOLL function pointers */ /* FCOLL function pointers */
mca_fcoll_base_module_file_read_all_fn_t fcoll_file_read_all; 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_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_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_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_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_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 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; typedef mca_fcoll_base_module_1_0_0_t mca_fcoll_base_module_t;

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * 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_init,
mca_fcoll_individual_module_finalize, mca_fcoll_individual_module_finalize,
mca_fcoll_individual_file_read_all, mca_fcoll_individual_file_read_all,
NULL, /* iread_all */
mca_fcoll_individual_file_read_all_begin, mca_fcoll_individual_file_read_all_begin,
mca_fcoll_individual_file_read_all_end, mca_fcoll_individual_file_read_all_end,
mca_fcoll_individual_file_write_all, mca_fcoll_individual_file_write_all,
NULL, /* iwrite_all */
mca_fcoll_individual_file_write_all_begin, 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 int

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * 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_init,
mca_fcoll_static_module_finalize, mca_fcoll_static_module_finalize,
mca_fcoll_static_file_read_all, mca_fcoll_static_file_read_all,
NULL, /* iread_all */
mca_fcoll_static_file_read_all_begin, mca_fcoll_static_file_read_all_begin,
mca_fcoll_static_file_read_all_end, mca_fcoll_static_file_read_all_end,
mca_fcoll_static_file_write_all, mca_fcoll_static_file_write_all,
NULL, /* iwrite_all */
mca_fcoll_static_file_write_all_begin, 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 int

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

@ -9,7 +9,7 @@
* University of Stuttgart. All rights reserved. * University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California. * Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved. * All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * 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_init,
mca_fcoll_two_phase_module_finalize, mca_fcoll_two_phase_module_finalize,
mca_fcoll_two_phase_file_read_all, mca_fcoll_two_phase_file_read_all,
NULL,
mca_fcoll_two_phase_file_read_all_begin, mca_fcoll_two_phase_file_read_all_begin,
mca_fcoll_two_phase_file_read_all_end, mca_fcoll_two_phase_file_read_all_end,
mca_fcoll_two_phase_file_write_all, mca_fcoll_two_phase_file_write_all,
NULL,
mca_fcoll_two_phase_file_write_all_begin, 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 int