Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions config/ompi_configure_options.m4
Original file line number Diff line number Diff line change
Expand Up @@ -231,9 +231,18 @@ AC_DEFINE_UNQUOTED(MPI_PARAM_CHECK, $mpi_param_check,
AC_DEFINE_UNQUOTED(OMPI_PARAM_CHECK, $ompi_param_check,
[Whether we want to check MPI parameters never or possible (an integer constant)])

AC_MSG_CHECKING([if want ompio support])
AC_ARG_ENABLE([io-ompio],
[AS_HELP_STRING([--disable-io-ompio],
[Disable the ompio MPI-IO component])])
if test "$enable_io_ompio" = "no" ; then
AC_MSG_RESULT([no])
ompi_want_ompio=0
else
AC_MSG_RESULT([yes])
ompi_want_ompio=1
fi
AM_CONDITIONAL(OMPI_OMPIO_SUPPORT, test "$ompi_want_ompio" = "1")

])dnl

8 changes: 6 additions & 2 deletions ompi/mca/fbtl/base/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ headers += \

libmca_fbtl_la_SOURCES += \
base/fbtl_base_frame.c \
base/fbtl_base_file_select.c \
base/fbtl_base_file_unselect.c \
base/fbtl_base_find_available.c

if OMPI_OMPIO_SUPPORT
libmca_fbtl_la_SOURCES += \
base/fbtl_base_file_select.c \
base/fbtl_base_file_unselect.c
endif
9 changes: 7 additions & 2 deletions ompi/mca/fcoll/base/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -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-2022 University of Houston. All rights reserved.
# $COPYRIGHT$
#
# Additional copyrights may follow
Expand All @@ -23,8 +23,13 @@ headers += \

libmca_fcoll_la_SOURCES += \
base/fcoll_base_frame.c \
base/fcoll_base_find_available.c

if OMPI_OMPIO_SUPPORT
libmca_fcoll_la_SOURCES += \
base/fcoll_base_file_select.c \
base/fcoll_base_file_unselect.c \
base/fcoll_base_find_available.c \
base/fcoll_base_sort.c \
base/fcoll_base_file_read_all.c \
base/fcoll_base_coll_array.c
endif
6 changes: 5 additions & 1 deletion ompi/mca/fcoll/base/base.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* Copyright (c) 2008 Cisco Systems, Inc. All rights reserved.
* Copyright (c) 2008-2011 University of Houston. All rights reserved.
* Copyright (c) 2008-2022 University of Houston. All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
Expand Down Expand Up @@ -55,6 +55,10 @@ OMPI_DECLSPEC int ompi_fcoll_base_sort_iovec (struct iovec *iov, int num_entries

OMPI_DECLSPEC mca_fcoll_base_component_t* mca_fcoll_base_component_lookup(const char* name);

OMPI_DECLSPEC int mca_fcoll_base_file_read_all (ompio_file_t *fh, void *buf, int count,
struct ompi_datatype_t *datatype,
ompi_status_public_t *status);

/*
* Globals
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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-2021 University of Houston. All rights reserved.
* Copyright (c) 2008-2022 University of Houston. All rights reserved.
* Copyright (c) 2017-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
Expand All @@ -20,19 +20,21 @@
*/

#include "ompi_config.h"
#include "fcoll_vulcan.h"

#include "mpi.h"
#include "ompi/constants.h"
#include "ompi/mca/fcoll/fcoll.h"
#include "ompi/mca/fcoll/base/fcoll_base_coll_array.h"
#include "ompi/mca/fcoll/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h"
#include "ompi/mca/io/io.h"
#include "math.h"
#include "ompi/mca/pml/pml.h"
#include <unistd.h>

#define DEBUG_ON 0
#define FCOLL_BASE_SHUFFLE_TAG 123
#define INIT_LEN 10

/*Used for loading file-offsets per aggregator*/
typedef struct mca_io_ompio_local_io_array{
Expand All @@ -49,7 +51,7 @@ static int read_heap_sort (mca_io_ompio_local_io_array *io_array,


int
mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
mca_fcoll_base_file_read_all (ompio_file_t *fh,
void *buf,
int count,
struct ompi_datatype_t *datatype,
Expand Down Expand Up @@ -89,7 +91,7 @@ mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
/* array that contains the sorted indices of the global_iov */
int *sorted = NULL;
int *displs = NULL;
int vulcan_num_io_procs;
int base_num_io_procs;
size_t max_data = 0;
MPI_Aint *total_bytes_per_process = NULL;
ompi_datatype_t **sendtype = NULL;
Expand Down Expand Up @@ -126,14 +128,14 @@ mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
status->_ucount = max_data;
}

vulcan_num_io_procs = fh->f_get_mca_parameter_value ( "num_aggregators", strlen ("num_aggregators"));
if ( OMPI_ERR_MAX == vulcan_num_io_procs ) {
base_num_io_procs = fh->f_get_mca_parameter_value ( "num_aggregators", strlen ("num_aggregators"));
if ( OMPI_ERR_MAX == base_num_io_procs ) {
ret = OMPI_ERROR;
goto exit;
}

ret = mca_common_ompio_set_aggregator_props ((struct ompio_file_t *) fh,
vulcan_num_io_procs,
base_num_io_procs,
max_data);
if (OMPI_SUCCESS != ret){
goto exit;
Expand Down Expand Up @@ -741,7 +743,7 @@ mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
1,
sendtype[i],
fh->f_procs_in_group[i],
FCOLL_VULCAN_SHUFFLE_TAG,
FCOLL_BASE_SHUFFLE_TAG,
MCA_PML_BASE_SEND_STANDARD,
fh->f_comm,
&send_req[i]));
Expand Down Expand Up @@ -822,7 +824,7 @@ mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
1,
newType,
my_aggregator,
FCOLL_VULCAN_SHUFFLE_TAG,
FCOLL_BASE_SHUFFLE_TAG,
fh->f_comm,
&recv_req));

Expand Down Expand Up @@ -867,7 +869,7 @@ mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
nentry.aggregator = 1;
else
nentry.aggregator = 0;
nentry.nprocs_for_coll = vulcan_num_io_procs;
nentry.nprocs_for_coll = base_num_io_procs;
if (!mca_common_ompio_full_print_queue(fh->f_coll_read_time)){
mca_common_ompio_register_print_entry(fh->f_coll_read_time,
nentry);
Expand Down
3 changes: 1 addition & 2 deletions ompi/mca/fcoll/dynamic/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -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-2015 University of Houston. All rights reserved.
# Copyright (c) 2008-2022 University of Houston. All rights reserved.
# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2017 IBM Corporation. All rights reserved.
# Copyright (c) 2018 Research Organization for Information Science
Expand All @@ -25,7 +25,6 @@ sources = \
fcoll_dynamic.h \
fcoll_dynamic_module.c \
fcoll_dynamic_component.c \
fcoll_dynamic_file_read_all.c \
fcoll_dynamic_file_write_all.c

# Make the output library in this directory, and name it either
Expand Down
9 changes: 1 addition & 8 deletions ompi/mca/fcoll/dynamic/fcoll_dynamic.h
Original file line number Diff line number Diff line change
Expand Up @@ -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-2016 University of Houston. All rights reserved.
* Copyright (c) 2008-2022 University of Houston. All rights reserved.
* Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$
Expand Down Expand Up @@ -50,13 +50,6 @@ int mca_fcoll_dynamic_component_file_unquery (ompio_file_t *file);
int mca_fcoll_dynamic_module_init (ompio_file_t *file);
int mca_fcoll_dynamic_module_finalize (ompio_file_t *file);

int mca_fcoll_dynamic_file_read_all (ompio_file_t *fh,
void *buf,
int count,
struct ompi_datatype_t *datatype,
ompi_status_public_t * status);


int mca_fcoll_dynamic_file_write_all (ompio_file_t *fh,
const void *buf,
int count,
Expand Down
Loading