1
1
Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
Этот коммит содержится в:
Gilles Gouaillardet 2018-06-13 14:51:29 +09:00
родитель 36b35ae0db
Коммит cd45c7abb6
113 изменённых файлов: 844 добавлений и 734 удалений

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

@ -102,33 +102,33 @@ enum ompio_fs_type
PLFS = 4 PLFS = 4
}; };
typedef struct mca_io_ompio_io_array_t { typedef struct mca_common_ompio_io_array_t {
void *memory_address; void *memory_address;
/* we need that of type OMPI_MPI_OFFSET_TYPE */ /* we need that of type OMPI_MPI_OFFSET_TYPE */
void *offset; void *offset;
size_t length; size_t length;
/*mca_io_ompio_server_t io_server;*/ /*mca_common_ompio_server_t io_server;*/
} mca_io_ompio_io_array_t; } mca_common_ompio_io_array_t;
typedef struct mca_io_ompio_access_array_t{ typedef struct mca_common_ompio_access_array_t{
OMPI_MPI_OFFSET_TYPE *offsets; OMPI_MPI_OFFSET_TYPE *offsets;
int *lens; int *lens;
MPI_Aint *mem_ptrs; MPI_Aint *mem_ptrs;
int count; int count;
} mca_io_ompio_access_array_t; } mca_common_ompio_access_array_t;
/* forward declaration to keep the compiler happy. */ /* forward declaration to keep the compiler happy. */
struct mca_io_ompio_file_t; struct ompio_file_t;
typedef int (*mca_io_ompio_generate_current_file_view_fn_t) (struct mca_io_ompio_file_t *fh, typedef int (*mca_common_ompio_generate_current_file_view_fn_t) (struct ompio_file_t *fh,
size_t max_data, size_t max_data,
struct iovec **f_iov, struct iovec **f_iov,
int *iov_count); int *iov_count);
/* functions to retrieve the number of aggregators and the size of the /* functions to retrieve the number of aggregators and the size of the
temporary buffer on aggregators from the fcoll modules */ temporary buffer on aggregators from the fcoll modules */
typedef int (*mca_io_ompio_get_mca_parameter_value_fn_t) ( char *mca_parameter_name, int name_length ); typedef int (*mca_common_ompio_get_mca_parameter_value_fn_t) ( char *mca_parameter_name, int name_length );
struct mca_common_ompio_print_queue; struct mca_common_ompio_print_queue;
@ -136,7 +136,7 @@ struct mca_common_ompio_print_queue;
/** /**
* Back-end structure for MPI_File * Back-end structure for MPI_File
*/ */
struct mca_io_ompio_file_t { struct ompio_file_t {
/* General parameters */ /* General parameters */
int fd; int fd;
struct ompi_file_t *f_fh; /* pointer back to the file_t structure */ struct ompi_file_t *f_fh; /* pointer back to the file_t structure */
@ -183,7 +183,7 @@ struct mca_io_ompio_file_t {
size_t f_etype_size; size_t f_etype_size;
/* contains IO requests that needs to be read/written */ /* contains IO requests that needs to be read/written */
mca_io_ompio_io_array_t *f_io_array; mca_common_ompio_io_array_t *f_io_array;
int f_num_of_io_entries; int f_num_of_io_entries;
/* Hooks for modules to hang things */ /* Hooks for modules to hang things */
@ -215,85 +215,85 @@ struct mca_io_ompio_file_t {
int f_procs_per_group; int f_procs_per_group;
/* internal ompio functions required by fbtl and fcoll */ /* internal ompio functions required by fbtl and fcoll */
mca_io_ompio_generate_current_file_view_fn_t f_generate_current_file_view; mca_common_ompio_generate_current_file_view_fn_t f_generate_current_file_view;
mca_io_ompio_get_mca_parameter_value_fn_t f_get_mca_parameter_value; mca_common_ompio_get_mca_parameter_value_fn_t f_get_mca_parameter_value;
}; };
typedef struct mca_io_ompio_file_t mca_io_ompio_file_t; typedef struct ompio_file_t ompio_file_t;
struct mca_io_ompio_data_t { struct mca_common_ompio_data_t {
mca_io_ompio_file_t ompio_fh; ompio_file_t ompio_fh;
}; };
typedef struct mca_io_ompio_data_t mca_io_ompio_data_t; typedef struct mca_common_ompio_data_t mca_common_ompio_data_t;
#include "common_ompio_print_queue.h" #include "common_ompio_print_queue.h"
#include "common_ompio_aggregators.h" #include "common_ompio_aggregators.h"
OMPI_DECLSPEC int mca_common_ompio_file_write (mca_io_ompio_file_t *fh, const void *buf, int count, OMPI_DECLSPEC int mca_common_ompio_file_write (ompio_file_t *fh, const void *buf, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
OMPI_DECLSPEC int mca_common_ompio_file_write_at (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, const void *buf, OMPI_DECLSPEC int mca_common_ompio_file_write_at (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, const void *buf,
int count, struct ompi_datatype_t *datatype, int count, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
OMPI_DECLSPEC int mca_common_ompio_file_iwrite (mca_io_ompio_file_t *fh, const void *buf, int count, OMPI_DECLSPEC int mca_common_ompio_file_iwrite (ompio_file_t *fh, const void *buf, int count,
struct ompi_datatype_t *datatype, ompi_request_t **request); struct ompi_datatype_t *datatype, ompi_request_t **request);
OMPI_DECLSPEC int mca_common_ompio_file_iwrite_at (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, OMPI_DECLSPEC int mca_common_ompio_file_iwrite_at (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset,
const void *buf, int count, struct ompi_datatype_t *datatype, const void *buf, int count, struct ompi_datatype_t *datatype,
ompi_request_t **request); ompi_request_t **request);
OMPI_DECLSPEC int mca_common_ompio_file_write_at_all (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, const void *buf, OMPI_DECLSPEC int mca_common_ompio_file_write_at_all (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, const void *buf,
int count, struct ompi_datatype_t *datatype, int count, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
OMPI_DECLSPEC int mca_common_ompio_file_iwrite_at_all (mca_io_ompio_file_t *fp, OMPI_MPI_OFFSET_TYPE offset, const void *buf, OMPI_DECLSPEC int mca_common_ompio_file_iwrite_at_all (ompio_file_t *fp, OMPI_MPI_OFFSET_TYPE offset, const void *buf,
int count, struct ompi_datatype_t *datatype, ompi_request_t **request); int count, struct ompi_datatype_t *datatype, ompi_request_t **request);
OMPI_DECLSPEC int mca_common_ompio_build_io_array ( mca_io_ompio_file_t *fh, int index, int cycles, OMPI_DECLSPEC int mca_common_ompio_build_io_array ( ompio_file_t *fh, int index, int cycles,
size_t bytes_per_cycle, int max_data, uint32_t iov_count, size_t bytes_per_cycle, int max_data, uint32_t iov_count,
struct iovec *decoded_iov, int *ii, int *jj, size_t *tbw, struct iovec *decoded_iov, int *ii, int *jj, size_t *tbw,
size_t *spc ); size_t *spc );
OMPI_DECLSPEC int mca_common_ompio_file_read (mca_io_ompio_file_t *fh, void *buf, int count, OMPI_DECLSPEC int mca_common_ompio_file_read (ompio_file_t *fh, void *buf, int count,
struct ompi_datatype_t *datatype, ompi_status_public_t *status); struct ompi_datatype_t *datatype, ompi_status_public_t *status);
OMPI_DECLSPEC int mca_common_ompio_file_read_at (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, void *buf, OMPI_DECLSPEC int mca_common_ompio_file_read_at (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, void *buf,
int count, struct ompi_datatype_t *datatype, int count, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
OMPI_DECLSPEC int mca_common_ompio_file_iread (mca_io_ompio_file_t *fh, void *buf, int count, OMPI_DECLSPEC int mca_common_ompio_file_iread (ompio_file_t *fh, void *buf, int count,
struct ompi_datatype_t *datatype, ompi_request_t **request); struct ompi_datatype_t *datatype, ompi_request_t **request);
OMPI_DECLSPEC int mca_common_ompio_file_iread_at (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, OMPI_DECLSPEC int mca_common_ompio_file_iread_at (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset,
void *buf, int count, struct ompi_datatype_t *datatype, void *buf, int count, struct ompi_datatype_t *datatype,
ompi_request_t **request); ompi_request_t **request);
OMPI_DECLSPEC int mca_common_ompio_file_read_at_all (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset, OMPI_DECLSPEC int mca_common_ompio_file_read_at_all (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset,
void *buf, int count, struct ompi_datatype_t *datatype, void *buf, int count, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
OMPI_DECLSPEC int mca_common_ompio_file_iread_at_all (mca_io_ompio_file_t *fp, OMPI_MPI_OFFSET_TYPE offset, OMPI_DECLSPEC int mca_common_ompio_file_iread_at_all (ompio_file_t *fp, OMPI_MPI_OFFSET_TYPE offset,
void *buf, int count, struct ompi_datatype_t *datatype, void *buf, int count, struct ompi_datatype_t *datatype,
ompi_request_t **request); ompi_request_t **request);
OMPI_DECLSPEC int mca_common_ompio_file_open (ompi_communicator_t *comm, const char *filename, OMPI_DECLSPEC int mca_common_ompio_file_open (ompi_communicator_t *comm, const char *filename,
int amode, opal_info_t *info, int amode, opal_info_t *info,
mca_io_ompio_file_t *ompio_fh, bool use_sharedfp); ompio_file_t *ompio_fh, bool use_sharedfp);
int mca_common_ompio_file_delete (const char *filename, int mca_common_ompio_file_delete (const char *filename,
struct opal_info_t *info); struct opal_info_t *info);
OMPI_DECLSPEC int mca_common_ompio_file_close (mca_io_ompio_file_t *ompio_fh); OMPI_DECLSPEC int mca_common_ompio_file_close (ompio_file_t *ompio_fh);
OMPI_DECLSPEC int mca_common_ompio_file_get_size (mca_io_ompio_file_t *ompio_fh, OMPI_MPI_OFFSET_TYPE *size); OMPI_DECLSPEC int mca_common_ompio_file_get_size (ompio_file_t *ompio_fh, OMPI_MPI_OFFSET_TYPE *size);
OMPI_DECLSPEC int mca_common_ompio_file_get_position (mca_io_ompio_file_t *fh,OMPI_MPI_OFFSET_TYPE *offset); OMPI_DECLSPEC int mca_common_ompio_file_get_position (ompio_file_t *fh,OMPI_MPI_OFFSET_TYPE *offset);
OMPI_DECLSPEC int mca_common_ompio_set_explicit_offset (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset); OMPI_DECLSPEC int mca_common_ompio_set_explicit_offset (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE offset);
OMPI_DECLSPEC int mca_common_ompio_set_file_defaults (mca_io_ompio_file_t *fh); OMPI_DECLSPEC int mca_common_ompio_set_file_defaults (ompio_file_t *fh);
OMPI_DECLSPEC int mca_common_ompio_set_view (mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE disp, OMPI_DECLSPEC int mca_common_ompio_set_view (ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE disp,
ompi_datatype_t *etype, ompi_datatype_t *filetype, const char *datarep, ompi_datatype_t *etype, ompi_datatype_t *filetype, const char *datarep,
opal_info_t *info); opal_info_t *info);
@ -302,7 +302,7 @@ OMPI_DECLSPEC int mca_common_ompio_set_view (mca_io_ompio_file_t *fh, OMPI_MPI_
* Function that takes in a datatype and buffer, and decodes that datatype * Function that takes in a datatype and buffer, and decodes that datatype
* into an iovec using the convertor_raw function * into an iovec using the convertor_raw function
*/ */
OMPI_DECLSPEC int mca_common_ompio_decode_datatype (struct mca_io_ompio_file_t *fh, OMPI_DECLSPEC int mca_common_ompio_decode_datatype (struct ompio_file_t *fh,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
int count, int count,
const void *buf, const void *buf,
@ -310,6 +310,6 @@ OMPI_DECLSPEC int mca_common_ompio_decode_datatype (struct mca_io_ompio_file_t *
struct iovec **iov, struct iovec **iov,
uint32_t *iov_count); uint32_t *iov_count);
OMPI_DECLSPEC int mca_common_ompio_set_callbacks(mca_io_ompio_generate_current_file_view_fn_t generate_current_file_view, OMPI_DECLSPEC int mca_common_ompio_set_callbacks(mca_common_ompio_generate_current_file_view_fn_t generate_current_file_view,
mca_io_ompio_get_mca_parameter_value_fn_t get_mca_parameter_value); mca_common_ompio_get_mca_parameter_value_fn_t get_mca_parameter_value);
#endif /* MCA_COMMON_OMPIO_H */ #endif /* MCA_COMMON_OMPIO_H */

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

@ -13,7 +13,7 @@
* Copyright (c) 2008-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved * Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2012-2013 Inria. All rights reserved. * Copyright (c) 2012-2013 Inria. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2017 IBM Corporation. All rights reserved. * Copyright (c) 2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -57,7 +57,7 @@ static double cost_calc (int P, int P_agg, size_t Data_proc, size_t coll_buffer,
#define DIM1 1 #define DIM1 1
#define DIM2 2 #define DIM2 2
int mca_common_ompio_simple_grouping(mca_io_ompio_file_t *fh, int mca_common_ompio_simple_grouping(ompio_file_t *fh,
int *num_groups_out, int *num_groups_out,
mca_common_ompio_contg *contg_groups) mca_common_ompio_contg *contg_groups)
{ {
@ -186,7 +186,7 @@ int mca_common_ompio_simple_grouping(mca_io_ompio_file_t *fh,
return mca_common_ompio_forced_grouping ( fh, num_groups, contg_groups); return mca_common_ompio_forced_grouping ( fh, num_groups, contg_groups);
} }
int mca_common_ompio_forced_grouping ( mca_io_ompio_file_t *fh, int mca_common_ompio_forced_grouping ( ompio_file_t *fh,
int num_groups, int num_groups,
mca_common_ompio_contg *contg_groups) mca_common_ompio_contg *contg_groups)
{ {
@ -224,7 +224,7 @@ int mca_common_ompio_forced_grouping ( mca_io_ompio_file_t *fh,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_common_ompio_fview_based_grouping(mca_io_ompio_file_t *fh, int mca_common_ompio_fview_based_grouping(ompio_file_t *fh,
int *num_groups, int *num_groups,
mca_common_ompio_contg *contg_groups) mca_common_ompio_contg *contg_groups)
{ {
@ -321,7 +321,7 @@ exit:
return ret; return ret;
} }
int mca_common_ompio_cart_based_grouping(mca_io_ompio_file_t *ompio_fh, int mca_common_ompio_cart_based_grouping(ompio_file_t *ompio_fh,
int *num_groups, int *num_groups,
mca_common_ompio_contg *contg_groups) mca_common_ompio_contg *contg_groups)
{ {
@ -448,7 +448,7 @@ exit:
int mca_common_ompio_finalize_initial_grouping(mca_io_ompio_file_t *fh, int mca_common_ompio_finalize_initial_grouping(ompio_file_t *fh,
int num_groups, int num_groups,
mca_common_ompio_contg *contg_groups) mca_common_ompio_contg *contg_groups)
{ {
@ -501,7 +501,7 @@ int mca_common_ompio_finalize_initial_grouping(mca_io_ompio_file_t *fh,
** of aggregators. ** of aggregators.
*/ */
int mca_common_ompio_set_aggregator_props (struct mca_io_ompio_file_t *fh, int mca_common_ompio_set_aggregator_props (struct ompio_file_t *fh,
int num_aggregators, int num_aggregators,
size_t bytes_per_proc) size_t bytes_per_proc)
{ {
@ -546,7 +546,7 @@ int mca_common_ompio_set_aggregator_props (struct mca_io_ompio_file_t *fh,
/*****************************************************************************************************/ /*****************************************************************************************************/
/*****************************************************************************************************/ /*****************************************************************************************************/
/*****************************************************************************************************/ /*****************************************************************************************************/
int mca_common_ompio_create_groups(mca_io_ompio_file_t *fh, int mca_common_ompio_create_groups(ompio_file_t *fh,
size_t bytes_per_proc) size_t bytes_per_proc)
{ {
@ -681,7 +681,7 @@ exit:
return ret; return ret;
} }
int mca_common_ompio_merge_initial_groups(mca_io_ompio_file_t *fh, int mca_common_ompio_merge_initial_groups(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *aggr_bytes_per_group, OMPI_MPI_OFFSET_TYPE *aggr_bytes_per_group,
int *decision_list, int *decision_list,
int is_aggregator){ int is_aggregator){
@ -881,7 +881,7 @@ exit:
return ret; return ret;
} }
int mca_common_ompio_split_initial_groups(mca_io_ompio_file_t *fh, int mca_common_ompio_split_initial_groups(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets_lens, OMPI_MPI_OFFSET_TYPE *start_offsets_lens,
OMPI_MPI_OFFSET_TYPE *end_offsets, OMPI_MPI_OFFSET_TYPE *end_offsets,
OMPI_MPI_OFFSET_TYPE bytes_per_group){ OMPI_MPI_OFFSET_TYPE bytes_per_group){
@ -1018,7 +1018,7 @@ int mca_common_ompio_split_initial_groups(mca_io_ompio_file_t *fh,
} }
int mca_common_ompio_retain_initial_groups(mca_io_ompio_file_t *fh){ int mca_common_ompio_retain_initial_groups(ompio_file_t *fh){
int i = 0; int i = 0;
@ -1036,7 +1036,7 @@ int mca_common_ompio_retain_initial_groups(mca_io_ompio_file_t *fh){
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_common_ompio_merge_groups(mca_io_ompio_file_t *fh, int mca_common_ompio_merge_groups(ompio_file_t *fh,
int *merge_aggrs, int *merge_aggrs,
int num_merge_aggrs) int num_merge_aggrs)
{ {
@ -1125,7 +1125,7 @@ exit:
int mca_common_ompio_split_a_group(mca_io_ompio_file_t *fh, int mca_common_ompio_split_a_group(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets_lens, OMPI_MPI_OFFSET_TYPE *start_offsets_lens,
OMPI_MPI_OFFSET_TYPE *end_offsets, OMPI_MPI_OFFSET_TYPE *end_offsets,
int size_new_group, int size_new_group,
@ -1186,7 +1186,7 @@ int mca_common_ompio_split_a_group(mca_io_ompio_file_t *fh,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_common_ompio_finalize_split(mca_io_ompio_file_t *fh, int mca_common_ompio_finalize_split(ompio_file_t *fh,
int size_new_group, int size_new_group,
int size_last_group) int size_last_group)
{ {
@ -1240,7 +1240,7 @@ int mca_common_ompio_finalize_split(mca_io_ompio_file_t *fh,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_common_ompio_prepare_to_group(mca_io_ompio_file_t *fh, int mca_common_ompio_prepare_to_group(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE **start_offsets_lens, OMPI_MPI_OFFSET_TYPE **start_offsets_lens,
OMPI_MPI_OFFSET_TYPE **end_offsets, // need it? OMPI_MPI_OFFSET_TYPE **end_offsets, // need it?
OMPI_MPI_OFFSET_TYPE **aggr_bytes_per_group, OMPI_MPI_OFFSET_TYPE **aggr_bytes_per_group,

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

@ -48,29 +48,29 @@ typedef struct{
/*Aggregator selection methods*/ /*Aggregator selection methods*/
OMPI_DECLSPEC int mca_common_ompio_set_aggregator_props (struct mca_io_ompio_file_t *fh, OMPI_DECLSPEC int mca_common_ompio_set_aggregator_props (struct ompio_file_t *fh,
int num_aggregators, int num_aggregators,
size_t bytes_per_proc); size_t bytes_per_proc);
int mca_common_ompio_forced_grouping ( mca_io_ompio_file_t *fh, int mca_common_ompio_forced_grouping ( ompio_file_t *fh,
int num_groups, int num_groups,
mca_common_ompio_contg *contg_groups); mca_common_ompio_contg *contg_groups);
int mca_common_ompio_cart_based_grouping(mca_io_ompio_file_t *ompio_fh, int *num_groups, int mca_common_ompio_cart_based_grouping(ompio_file_t *ompio_fh, int *num_groups,
mca_common_ompio_contg *contg_groups); mca_common_ompio_contg *contg_groups);
int mca_common_ompio_fview_based_grouping(mca_io_ompio_file_t *fh, int *num_groups, int mca_common_ompio_fview_based_grouping(ompio_file_t *fh, int *num_groups,
mca_common_ompio_contg *contg_groups); mca_common_ompio_contg *contg_groups);
int mca_common_ompio_simple_grouping(mca_io_ompio_file_t *fh, int *num_groups, int mca_common_ompio_simple_grouping(ompio_file_t *fh, int *num_groups,
mca_common_ompio_contg *contg_groups); mca_common_ompio_contg *contg_groups);
int mca_common_ompio_finalize_initial_grouping(mca_io_ompio_file_t *fh, int num_groups, int mca_common_ompio_finalize_initial_grouping(ompio_file_t *fh, int num_groups,
mca_common_ompio_contg *contg_groups); mca_common_ompio_contg *contg_groups);
int mca_common_ompio_create_groups(mca_io_ompio_file_t *fh, size_t bytes_per_proc); int mca_common_ompio_create_groups(ompio_file_t *fh, size_t bytes_per_proc);
int mca_common_ompio_prepare_to_group(mca_io_ompio_file_t *fh, int mca_common_ompio_prepare_to_group(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE **start_offsets_lens, OMPI_MPI_OFFSET_TYPE **start_offsets_lens,
OMPI_MPI_OFFSET_TYPE **end_offsets, OMPI_MPI_OFFSET_TYPE **end_offsets,
OMPI_MPI_OFFSET_TYPE **aggr_bytes_per_group, OMPI_MPI_OFFSET_TYPE **aggr_bytes_per_group,
@ -80,16 +80,16 @@ int mca_common_ompio_prepare_to_group(mca_io_ompio_file_t *fh,
int *is_aggregator, int *is_aggregator,
int *ompio_grouping_flag); int *ompio_grouping_flag);
int mca_common_ompio_retain_initial_groups(mca_io_ompio_file_t *fh); int mca_common_ompio_retain_initial_groups(ompio_file_t *fh);
int mca_common_ompio_split_initial_groups(mca_io_ompio_file_t *fh, int mca_common_ompio_split_initial_groups(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets_lens, OMPI_MPI_OFFSET_TYPE *start_offsets_lens,
OMPI_MPI_OFFSET_TYPE *end_offsets, OMPI_MPI_OFFSET_TYPE *end_offsets,
OMPI_MPI_OFFSET_TYPE bytes_per_group); OMPI_MPI_OFFSET_TYPE bytes_per_group);
int mca_common_ompio_split_a_group(mca_io_ompio_file_t *fh, int mca_common_ompio_split_a_group(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets_lens, OMPI_MPI_OFFSET_TYPE *start_offsets_lens,
OMPI_MPI_OFFSET_TYPE *end_offsets, OMPI_MPI_OFFSET_TYPE *end_offsets,
int size_new_group, int size_new_group,
@ -97,14 +97,14 @@ int mca_common_ompio_split_a_group(mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *min_cci, OMPI_MPI_OFFSET_TYPE *min_cci,
int *num_groups, int *size_smallest_group); int *num_groups, int *size_smallest_group);
int mca_common_ompio_finalize_split(mca_io_ompio_file_t *fh, int size_new_group, int mca_common_ompio_finalize_split(ompio_file_t *fh, int size_new_group,
int size_last_group); int size_last_group);
int mca_common_ompio_merge_initial_groups(mca_io_ompio_file_t *fh, int mca_common_ompio_merge_initial_groups(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *aggr_bytes_per_group, OMPI_MPI_OFFSET_TYPE *aggr_bytes_per_group,
int *decision_list, int is_aggregator); int *decision_list, int is_aggregator);
int mca_common_ompio_merge_groups(mca_io_ompio_file_t *fh, int *merge_aggrs, int mca_common_ompio_merge_groups(ompio_file_t *fh, int *merge_aggrs,
int num_merge_aggrs); int num_merge_aggrs);

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

@ -41,14 +41,14 @@
#include "common_ompio.h" #include "common_ompio.h"
#include "ompi/mca/topo/topo.h" #include "ompi/mca/topo/topo.h"
static mca_io_ompio_generate_current_file_view_fn_t generate_current_file_view_fn; static mca_common_ompio_generate_current_file_view_fn_t generate_current_file_view_fn;
static mca_io_ompio_get_mca_parameter_value_fn_t get_mca_parameter_value_fn; static mca_common_ompio_get_mca_parameter_value_fn_t get_mca_parameter_value_fn;
int mca_common_ompio_file_open (ompi_communicator_t *comm, int mca_common_ompio_file_open (ompi_communicator_t *comm,
const char *filename, const char *filename,
int amode, int amode,
opal_info_t *info, opal_info_t *info,
mca_io_ompio_file_t *ompio_fh, bool use_sharedfp) ompio_file_t *ompio_fh, bool use_sharedfp)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
int remote_arch; int remote_arch;
@ -228,7 +228,7 @@ int mca_common_ompio_file_open (ompi_communicator_t *comm,
return ret; return ret;
} }
int mca_common_ompio_file_close (mca_io_ompio_file_t *ompio_fh) int mca_common_ompio_file_close (ompio_file_t *ompio_fh)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
int delete_flag = 0; int delete_flag = 0;
@ -367,7 +367,7 @@ int mca_common_ompio_file_close (mca_io_ompio_file_t *ompio_fh)
return ret; return ret;
} }
int mca_common_ompio_file_get_size (mca_io_ompio_file_t *ompio_fh, int mca_common_ompio_file_get_size (ompio_file_t *ompio_fh,
OMPI_MPI_OFFSET_TYPE *size) OMPI_MPI_OFFSET_TYPE *size)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
@ -378,7 +378,7 @@ int mca_common_ompio_file_get_size (mca_io_ompio_file_t *ompio_fh,
} }
int mca_common_ompio_file_get_position (mca_io_ompio_file_t *fh, int mca_common_ompio_file_get_position (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *offset) OMPI_MPI_OFFSET_TYPE *offset)
{ {
OMPI_MPI_OFFSET_TYPE off; OMPI_MPI_OFFSET_TYPE off;
@ -396,7 +396,7 @@ int mca_common_ompio_file_get_position (mca_io_ompio_file_t *fh,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_common_ompio_set_file_defaults (mca_io_ompio_file_t *fh) int mca_common_ompio_set_file_defaults (ompio_file_t *fh)
{ {
if (NULL != fh) { if (NULL != fh) {
@ -497,7 +497,7 @@ int mca_common_ompio_file_delete (const char *filename,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_common_ompio_decode_datatype (struct mca_io_ompio_file_t *fh, int mca_common_ompio_decode_datatype (struct ompio_file_t *fh,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
int count, int count,
const void *buf, const void *buf,
@ -616,8 +616,8 @@ int mca_common_ompio_decode_datatype (struct mca_io_ompio_file_t *fh,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_common_ompio_set_callbacks(mca_io_ompio_generate_current_file_view_fn_t generate_current_file_view, int mca_common_ompio_set_callbacks(mca_common_ompio_generate_current_file_view_fn_t generate_current_file_view,
mca_io_ompio_get_mca_parameter_value_fn_t get_mca_parameter_value) mca_common_ompio_get_mca_parameter_value_fn_t get_mca_parameter_value)
{ {
generate_current_file_view_fn = generate_current_file_view; generate_current_file_view_fn = generate_current_file_view;
get_mca_parameter_value_fn = get_mca_parameter_value; get_mca_parameter_value_fn = get_mca_parameter_value;

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

@ -48,10 +48,10 @@
** routesin are used e.g. from the shared file pointer modules. ** routesin are used e.g. from the shared file pointer modules.
** The main difference is, that the first one takes an ompi_file_t ** The main difference is, that the first one takes an ompi_file_t
** as a file pointer argument, while the second uses the ompio internal ** as a file pointer argument, while the second uses the ompio internal
** mca_io_ompio_file_t structure. ** ompio_file_t structure.
*/ */
int mca_common_ompio_file_read (mca_io_ompio_file_t *fh, int mca_common_ompio_file_read (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -148,7 +148,7 @@ int mca_common_ompio_file_read (mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_common_ompio_file_read_at (mca_io_ompio_file_t *fh, int mca_common_ompio_file_read_at (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
void *buf, void *buf,
int count, int count,
@ -176,7 +176,7 @@ int mca_common_ompio_file_read_at (mca_io_ompio_file_t *fh,
} }
int mca_common_ompio_file_iread (mca_io_ompio_file_t *fh, int mca_common_ompio_file_iread (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -263,7 +263,7 @@ int mca_common_ompio_file_iread (mca_io_ompio_file_t *fh,
} }
int mca_common_ompio_file_iread_at (mca_io_ompio_file_t *fh, int mca_common_ompio_file_iread_at (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
void *buf, void *buf,
int count, int count,
@ -296,7 +296,7 @@ int mca_common_ompio_file_iread_at (mca_io_ompio_file_t *fh,
/* Infrastructure for collective operations */ /* Infrastructure for collective operations */
int mca_common_ompio_file_read_at_all (mca_io_ompio_file_t *fh, int mca_common_ompio_file_read_at_all (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
void *buf, void *buf,
int count, int count,
@ -318,7 +318,7 @@ int mca_common_ompio_file_read_at_all (mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_common_ompio_file_iread_at_all (mca_io_ompio_file_t *fp, int mca_common_ompio_file_iread_at_all (ompio_file_t *fp,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
void *buf, void *buf,
int count, int count,
@ -350,7 +350,7 @@ int mca_common_ompio_file_iread_at_all (mca_io_ompio_file_t *fp,
return ret; return ret;
} }
int mca_common_ompio_set_explicit_offset (mca_io_ompio_file_t *fh, int mca_common_ompio_set_explicit_offset (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset) OMPI_MPI_OFFSET_TYPE offset)
{ {
int i = 0; int i = 0;

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

@ -31,7 +31,7 @@
#include "ompi/mca/fcoll/base/base.h" #include "ompi/mca/fcoll/base/base.h"
#include "ompi/mca/topo/topo.h" #include "ompi/mca/topo/topo.h"
static OMPI_MPI_OFFSET_TYPE get_contiguous_chunk_size (mca_io_ompio_file_t *, int flag); static OMPI_MPI_OFFSET_TYPE get_contiguous_chunk_size (ompio_file_t *, int flag);
static int datatype_duplicate (ompi_datatype_t *oldtype, ompi_datatype_t **newtype ); static int datatype_duplicate (ompi_datatype_t *oldtype, ompi_datatype_t **newtype );
static int datatype_duplicate (ompi_datatype_t *oldtype, ompi_datatype_t **newtype ) static int datatype_duplicate (ompi_datatype_t *oldtype, ompi_datatype_t **newtype )
{ {
@ -54,7 +54,7 @@ static int datatype_duplicate (ompi_datatype_t *oldtype, ompi_datatype_t **newt
} }
int mca_common_ompio_set_view (mca_io_ompio_file_t *fh, int mca_common_ompio_set_view (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE disp, OMPI_MPI_OFFSET_TYPE disp,
ompi_datatype_t *etype, ompi_datatype_t *etype,
ompi_datatype_t *filetype, ompi_datatype_t *filetype,
@ -290,7 +290,7 @@ exit:
return ret; return ret;
} }
OMPI_MPI_OFFSET_TYPE get_contiguous_chunk_size (mca_io_ompio_file_t *fh, int flag) OMPI_MPI_OFFSET_TYPE get_contiguous_chunk_size (ompio_file_t *fh, int flag)
{ {
int uniform = 0; int uniform = 0;
OMPI_MPI_OFFSET_TYPE avg[3] = {0,0,0}; OMPI_MPI_OFFSET_TYPE avg[3] = {0,0,0};

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

@ -34,7 +34,7 @@
#include "math.h" #include "math.h"
#include <unistd.h> #include <unistd.h>
int mca_common_ompio_file_write (mca_io_ompio_file_t *fh, int mca_common_ompio_file_write (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -121,7 +121,7 @@ int mca_common_ompio_file_write (mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_common_ompio_file_write_at (mca_io_ompio_file_t *fh, int mca_common_ompio_file_write_at (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
const void *buf, const void *buf,
int count, int count,
@ -145,7 +145,7 @@ int mca_common_ompio_file_write_at (mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_common_ompio_file_iwrite (mca_io_ompio_file_t *fh, int mca_common_ompio_file_iwrite (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -228,7 +228,7 @@ int mca_common_ompio_file_iwrite (mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_common_ompio_file_iwrite_at (mca_io_ompio_file_t *fh, int mca_common_ompio_file_iwrite_at (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
const void *buf, const void *buf,
int count, int count,
@ -262,7 +262,7 @@ int mca_common_ompio_file_iwrite_at (mca_io_ompio_file_t *fh,
/* Collective operations */ /* Collective operations */
/******************************************************************/ /******************************************************************/
int mca_common_ompio_file_write_at_all (mca_io_ompio_file_t *fh, int mca_common_ompio_file_write_at_all (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
const void *buf, const void *buf,
int count, int count,
@ -284,7 +284,7 @@ int mca_common_ompio_file_write_at_all (mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_common_ompio_file_iwrite_at_all (mca_io_ompio_file_t *fp, int mca_common_ompio_file_iwrite_at_all (ompio_file_t *fp,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
const void *buf, const void *buf,
int count, int count,
@ -321,7 +321,7 @@ int mca_common_ompio_file_iwrite_at_all (mca_io_ompio_file_t *fp,
/* Helper function used by both read and write operations */ /* Helper function used by both read and write operations */
/**************************************************************/ /**************************************************************/
int mca_common_ompio_build_io_array ( mca_io_ompio_file_t *fh, int index, int cycles, int mca_common_ompio_build_io_array ( ompio_file_t *fh, int index, int cycles,
size_t bytes_per_cycle, int max_data, uint32_t iov_count, size_t bytes_per_cycle, int max_data, uint32_t iov_count,
struct iovec *decoded_iov, int *ii, int *jj, size_t *tbw, struct iovec *decoded_iov, int *ii, int *jj, size_t *tbw,
size_t *spc) size_t *spc)
@ -347,8 +347,8 @@ int mca_common_ompio_build_io_array ( mca_io_ompio_file_t *fh, int index, int cy
bytes_to_write_in_cycle = bytes_per_cycle; bytes_to_write_in_cycle = bytes_per_cycle;
} }
fh->f_io_array = (mca_io_ompio_io_array_t *)malloc fh->f_io_array = (mca_common_ompio_io_array_t *)malloc
(OMPIO_IOVEC_INITIAL_SIZE * sizeof (mca_io_ompio_io_array_t)); (OMPIO_IOVEC_INITIAL_SIZE * sizeof (mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
return OMPI_ERR_OUT_OF_RESOURCE; return OMPI_ERR_OUT_OF_RESOURCE;
@ -358,9 +358,9 @@ int mca_common_ompio_build_io_array ( mca_io_ompio_file_t *fh, int index, int cy
/* reallocate if needed */ /* reallocate if needed */
if (OMPIO_IOVEC_INITIAL_SIZE*block <= k) { if (OMPIO_IOVEC_INITIAL_SIZE*block <= k) {
block ++; block ++;
fh->f_io_array = (mca_io_ompio_io_array_t *)realloc fh->f_io_array = (mca_common_ompio_io_array_t *)realloc
(fh->f_io_array, OMPIO_IOVEC_INITIAL_SIZE * (fh->f_io_array, OMPIO_IOVEC_INITIAL_SIZE *
block * sizeof (mca_io_ompio_io_array_t)); block * sizeof (mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
return OMPI_ERR_OUT_OF_RESOURCE; return OMPI_ERR_OUT_OF_RESOURCE;

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

@ -99,7 +99,7 @@ int mca_common_ompio_full_print_queue( struct mca_common_ompio_print_queue *q)
int mca_common_ompio_print_time_info( struct mca_common_ompio_print_queue *q, int mca_common_ompio_print_time_info( struct mca_common_ompio_print_queue *q,
char *name, char *name,
struct mca_io_ompio_file_t *fh){ struct ompio_file_t *fh){
int i = 0, j=0, nprocs_for_coll = 0, ret = OMPI_SUCCESS, count = 0; int i = 0, j=0, nprocs_for_coll = 0, ret = OMPI_SUCCESS, count = 0;
double *time_details = NULL, *final_sum = NULL; double *time_details = NULL, *final_sum = NULL;

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

@ -26,8 +26,6 @@
#include "mpi.h" #include "mpi.h"
struct mca_io_ompio_file_t;
#define MCA_COMMON_OMPIO_QUEUESIZE 2048 #define MCA_COMMON_OMPIO_QUEUESIZE 2048
/*To extract time-information */ /*To extract time-information */
@ -61,7 +59,7 @@ OMPI_DECLSPEC int mca_common_ompio_full_print_queue( struct mca_common_ompio_pri
OMPI_DECLSPEC int mca_common_ompio_initialize_print_queue(struct mca_common_ompio_print_queue **q); OMPI_DECLSPEC int mca_common_ompio_initialize_print_queue(struct mca_common_ompio_print_queue **q);
OMPI_DECLSPEC int mca_common_ompio_print_time_info( struct mca_common_ompio_print_queue *q, OMPI_DECLSPEC int mca_common_ompio_print_time_info( struct mca_common_ompio_print_queue *q,
char *name_operation, struct mca_io_ompio_file_t *fh); char *name_operation, struct ompio_file_t *fh);
END_C_DECLS END_C_DECLS

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

@ -11,6 +11,8 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2008 Cisco Systems, Inc. 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -30,23 +32,24 @@
#include "ompi_config.h" #include "ompi_config.h"
#include "mpi.h" #include "mpi.h"
#include "ompi/mca/fbtl/fbtl.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h"
#include "ompi/mca/fbtl/fbtl.h"
BEGIN_C_DECLS BEGIN_C_DECLS
OMPI_DECLSPEC int mca_fbtl_base_file_select(struct mca_io_ompio_file_t *file, OMPI_DECLSPEC int mca_fbtl_base_file_select(struct ompio_file_t *file,
mca_base_component_t *preferred); mca_base_component_t *preferred);
OMPI_DECLSPEC int mca_fbtl_base_file_unselect(struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_fbtl_base_file_unselect(struct ompio_file_t *file);
OMPI_DECLSPEC int mca_fbtl_base_find_available(bool enable_progress_threads, OMPI_DECLSPEC int mca_fbtl_base_find_available(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
OMPI_DECLSPEC int mca_fbtl_base_init_file (struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_fbtl_base_init_file (struct ompio_file_t *file);
OMPI_DECLSPEC int mca_fbtl_base_get_param (struct mca_io_ompio_file_t *file, int keyval); OMPI_DECLSPEC int mca_fbtl_base_get_param (struct ompio_file_t *file, int keyval);
/* /*
* Globals * Globals
*/ */

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -62,7 +64,7 @@ static OBJ_CLASS_INSTANCE(queried_module_t, opal_list_item_t, NULL, NULL);
* their module but were unfortunate to not get selected * their module but were unfortunate to not get selected
*/ */
int mca_fbtl_base_file_select (struct mca_io_ompio_file_t *file, int mca_fbtl_base_file_select (struct ompio_file_t *file,
mca_base_component_t *preferred) mca_base_component_t *preferred)
{ {
int priority; int priority;

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -31,7 +33,7 @@
#include "ompi/mca/fbtl/base/base.h" #include "ompi/mca/fbtl/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int mca_fbtl_base_file_unselect(mca_io_ompio_file_t *file) int mca_fbtl_base_file_unselect(ompio_file_t *file)
{ {
if (NULL != file->f_fbtl && NULL != file->f_fbtl->fbtl_module_finalize) { if (NULL != file->f_fbtl && NULL != file->f_fbtl->fbtl_module_finalize) {
return file->f_fbtl->fbtl_module_finalize(file); return file->f_fbtl->fbtl_module_finalize(file);

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

@ -13,6 +13,8 @@
* Copyright (c) 2008-2014 University of Houston. All rights reserved. * Copyright (c) 2008-2014 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 (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -34,7 +36,7 @@
BEGIN_C_DECLS BEGIN_C_DECLS
struct mca_io_ompio_file_t; struct ompio_file_t;
struct mca_ompio_request_t; struct mca_ompio_request_t;
/* /*
@ -81,11 +83,11 @@ typedef int (*mca_fbtl_base_component_init_query_1_0_0_fn_t)
bool enable_mpi_threads); bool enable_mpi_threads);
typedef struct mca_fbtl_base_module_1_0_0_t * typedef struct mca_fbtl_base_module_1_0_0_t *
(*mca_fbtl_base_component_file_query_1_0_0_fn_t) (struct mca_io_ompio_file_t *file, (*mca_fbtl_base_component_file_query_1_0_0_fn_t) (struct ompio_file_t *file,
int *priority); int *priority);
typedef int (*mca_fbtl_base_component_file_unquery_1_0_0_fn_t) typedef int (*mca_fbtl_base_component_file_unquery_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
/* /*
* ****************** component struct ****************************** * ****************** component struct ******************************
@ -112,21 +114,21 @@ typedef struct mca_fbtl_base_component_2_0_0_t mca_fbtl_base_component_t;
*/ */
typedef int (*mca_fbtl_base_module_init_1_0_0_fn_t) typedef int (*mca_fbtl_base_module_init_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
typedef int (*mca_fbtl_base_module_finalize_1_0_0_fn_t) typedef int (*mca_fbtl_base_module_finalize_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
typedef ssize_t (*mca_fbtl_base_module_preadv_fn_t) typedef ssize_t (*mca_fbtl_base_module_preadv_fn_t)
(struct mca_io_ompio_file_t *file ); (struct ompio_file_t *file );
typedef ssize_t (*mca_fbtl_base_module_pwritev_fn_t) typedef ssize_t (*mca_fbtl_base_module_pwritev_fn_t)
(struct mca_io_ompio_file_t *file ); (struct ompio_file_t *file );
typedef ssize_t (*mca_fbtl_base_module_ipreadv_fn_t) typedef ssize_t (*mca_fbtl_base_module_ipreadv_fn_t)
(struct mca_io_ompio_file_t *file, (struct ompio_file_t *file,
ompi_request_t *request); ompi_request_t *request);
typedef ssize_t (*mca_fbtl_base_module_ipwritev_fn_t) typedef ssize_t (*mca_fbtl_base_module_ipwritev_fn_t)
(struct mca_io_ompio_file_t *file, (struct ompio_file_t *file,
ompi_request_t *request); ompi_request_t *request);
typedef bool (*mca_fbtl_base_module_progress_fn_t) typedef bool (*mca_fbtl_base_module_progress_fn_t)
( struct mca_ompio_request_t *request); ( struct mca_ompio_request_t *request);

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

@ -11,6 +11,8 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2008-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2018 Cisco Systems, Inc. All rights reserved * Copyright (c) 2018 Cisco Systems, Inc. All rights reserved
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -77,7 +79,7 @@ int mca_fbtl_posix_component_init_query(bool enable_progress_threads,
} }
struct mca_fbtl_base_module_1_0_0_t * struct mca_fbtl_base_module_1_0_0_t *
mca_fbtl_posix_component_file_query (mca_io_ompio_file_t *fh, int *priority) { mca_fbtl_posix_component_file_query (ompio_file_t *fh, int *priority) {
*priority = mca_fbtl_posix_priority; *priority = mca_fbtl_posix_priority;
if (UFS == fh->f_fstype) { if (UFS == fh->f_fstype) {
@ -89,7 +91,7 @@ mca_fbtl_posix_component_file_query (mca_io_ompio_file_t *fh, int *priority) {
return &posix; return &posix;
} }
int mca_fbtl_posix_component_file_unquery (mca_io_ompio_file_t *file) { int mca_fbtl_posix_component_file_unquery (ompio_file_t *file) {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
* to be undone if this module is not selected */ * to be undone if this module is not selected */
@ -97,7 +99,7 @@ int mca_fbtl_posix_component_file_unquery (mca_io_ompio_file_t *file) {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fbtl_posix_module_init (mca_io_ompio_file_t *file) { int mca_fbtl_posix_module_init (ompio_file_t *file) {
#if defined (FBTL_POSIX_HAVE_AIO) #if defined (FBTL_POSIX_HAVE_AIO)
long val = sysconf(_SC_AIO_MAX); long val = sysconf(_SC_AIO_MAX);
@ -109,7 +111,7 @@ int mca_fbtl_posix_module_init (mca_io_ompio_file_t *file) {
} }
int mca_fbtl_posix_module_finalize (mca_io_ompio_file_t *file) { int mca_fbtl_posix_module_finalize (ompio_file_t *file) {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,6 +10,8 @@
* 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-2018 University of Houston. All rights reserved. * Copyright (c) 2008-2018 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,11 +35,11 @@ BEGIN_C_DECLS
int mca_fbtl_posix_component_init_query(bool enable_progress_threads, int mca_fbtl_posix_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fbtl_base_module_1_0_0_t * struct mca_fbtl_base_module_1_0_0_t *
mca_fbtl_posix_component_file_query (mca_io_ompio_file_t *file, int *priority); mca_fbtl_posix_component_file_query (ompio_file_t *file, int *priority);
int mca_fbtl_posix_component_file_unquery (mca_io_ompio_file_t *file); int mca_fbtl_posix_component_file_unquery (ompio_file_t *file);
int mca_fbtl_posix_module_init (mca_io_ompio_file_t *file); int mca_fbtl_posix_module_init (ompio_file_t *file);
int mca_fbtl_posix_module_finalize (mca_io_ompio_file_t *file); int mca_fbtl_posix_module_finalize (ompio_file_t *file);
extern int fbtl_posix_max_aio_active_reqs; extern int fbtl_posix_max_aio_active_reqs;
@ -48,19 +50,19 @@ OMPI_MODULE_DECLSPEC extern mca_fbtl_base_component_2_0_0_t mca_fbtl_posix_compo
* ****************************************************************** * ******************************************************************
*/ */
ssize_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *file ); ssize_t mca_fbtl_posix_preadv (ompio_file_t *file );
ssize_t mca_fbtl_posix_pwritev (mca_io_ompio_file_t *file ); ssize_t mca_fbtl_posix_pwritev (ompio_file_t *file );
ssize_t mca_fbtl_posix_ipreadv (mca_io_ompio_file_t *file, ssize_t mca_fbtl_posix_ipreadv (ompio_file_t *file,
ompi_request_t *request); ompi_request_t *request);
ssize_t mca_fbtl_posix_ipwritev (mca_io_ompio_file_t *file, ssize_t mca_fbtl_posix_ipwritev (ompio_file_t *file,
ompi_request_t *request); ompi_request_t *request);
bool mca_fbtl_posix_progress ( mca_ompio_request_t *req); bool mca_fbtl_posix_progress ( mca_ompio_request_t *req);
void mca_fbtl_posix_request_free ( mca_ompio_request_t *req); void mca_fbtl_posix_request_free ( mca_ompio_request_t *req);
int mca_fbtl_posix_lock ( struct flock *lock, mca_io_ompio_file_t *fh, int op, int mca_fbtl_posix_lock ( struct flock *lock, ompio_file_t *fh, int op,
OMPI_MPI_OFFSET_TYPE iov_offset, off_t len, int flags); OMPI_MPI_OFFSET_TYPE iov_offset, off_t len, int flags);
void mca_fbtl_posix_unlock ( struct flock *lock, mca_io_ompio_file_t *fh ); void mca_fbtl_posix_unlock ( struct flock *lock, ompio_file_t *fh );
struct mca_fbtl_posix_request_data_t { struct mca_fbtl_posix_request_data_t {
@ -74,7 +76,7 @@ struct mca_fbtl_posix_request_data_t {
int *aio_req_status; /* array of statuses */ int *aio_req_status; /* array of statuses */
ssize_t aio_total_len; /* total amount of data written */ ssize_t aio_total_len; /* total amount of data written */
struct flock aio_lock; /* lock used for certain file systems */ struct flock aio_lock; /* lock used for certain file systems */
mca_io_ompio_file_t *aio_fh; /* pointer back to the mca_io_ompio_fh structure */ ompio_file_t *aio_fh; /* pointer back to the mca_io_ompio_fh structure */
}; };
typedef struct mca_fbtl_posix_request_data_t mca_fbtl_posix_request_data_t; typedef struct mca_fbtl_posix_request_data_t mca_fbtl_posix_request_data_t;

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

@ -10,7 +10,7 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -33,7 +33,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_posix_ipreadv (mca_io_ompio_file_t *fh, ssize_t mca_fbtl_posix_ipreadv (ompio_file_t *fh,
ompi_request_t *request) ompi_request_t *request)
{ {
#if defined (FBTL_POSIX_HAVE_AIO) #if defined (FBTL_POSIX_HAVE_AIO)

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

@ -10,7 +10,7 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -32,7 +32,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_posix_ipwritev (mca_io_ompio_file_t *fh, ssize_t mca_fbtl_posix_ipwritev (ompio_file_t *fh,
ompi_request_t *request) ompi_request_t *request)
{ {
#if defined(FBTL_POSIX_HAVE_AIO) #if defined(FBTL_POSIX_HAVE_AIO)

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

@ -10,6 +10,8 @@
* 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) 2017 University of Houston. All rights reserved. * Copyright (c) 2017 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -41,7 +43,7 @@
Support for MPI atomicity operations are envisioned, but not yet tested. Support for MPI atomicity operations are envisioned, but not yet tested.
*/ */
int mca_fbtl_posix_lock ( struct flock *lock, mca_io_ompio_file_t *fh, int op, int mca_fbtl_posix_lock ( struct flock *lock, ompio_file_t *fh, int op,
OMPI_MPI_OFFSET_TYPE offset, off_t len, int flags) OMPI_MPI_OFFSET_TYPE offset, off_t len, int flags)
{ {
off_t lmod, bmod; off_t lmod, bmod;
@ -131,7 +133,7 @@ int mca_fbtl_posix_lock ( struct flock *lock, mca_io_ompio_file_t *fh, int op,
return ret; return ret;
} }
void mca_fbtl_posix_unlock ( struct flock *lock, mca_io_ompio_file_t *fh ) void mca_fbtl_posix_unlock ( struct flock *lock, ompio_file_t *fh )
{ {
if ( -1 == lock->l_start && -1 == lock->l_len ) { if ( -1 == lock->l_start && -1 == lock->l_len ) {
return; return;

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

@ -10,7 +10,7 @@
* 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-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -28,7 +28,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_posix_preadv (mca_io_ompio_file_t *fh ) ssize_t mca_fbtl_posix_preadv (ompio_file_t *fh )
{ {
/*int *fp = NULL;*/ /*int *fp = NULL;*/
int i, block=1, ret; int i, block=1, ret;

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

@ -10,7 +10,7 @@
* 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-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -30,7 +30,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_posix_pwritev(mca_io_ompio_file_t *fh ) ssize_t mca_fbtl_posix_pwritev(ompio_file_t *fh )
{ {
/*int *fp = NULL;*/ /*int *fp = NULL;*/
int i, block = 1, ret; int i, block = 1, ret;

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

@ -10,6 +10,8 @@
* 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-2014 University of Houston. All rights reserved. * Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -57,7 +59,7 @@ int mca_fbtl_pvfs2_component_init_query(bool enable_progress_threads,
} }
struct mca_fbtl_base_module_1_0_0_t * struct mca_fbtl_base_module_1_0_0_t *
mca_fbtl_pvfs2_component_file_query (mca_io_ompio_file_t *fh, int *priority) { mca_fbtl_pvfs2_component_file_query (ompio_file_t *fh, int *priority) {
*priority = mca_fbtl_pvfs2_priority; *priority = mca_fbtl_pvfs2_priority;
if (PVFS2 == fh->f_fstype) { if (PVFS2 == fh->f_fstype) {
@ -69,7 +71,7 @@ mca_fbtl_pvfs2_component_file_query (mca_io_ompio_file_t *fh, int *priority) {
return &pvfs2; return &pvfs2;
} }
int mca_fbtl_pvfs2_component_file_unquery (mca_io_ompio_file_t *file) { int mca_fbtl_pvfs2_component_file_unquery (ompio_file_t *file) {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
* to be undone if this module is not selected */ * to be undone if this module is not selected */
@ -77,11 +79,11 @@ int mca_fbtl_pvfs2_component_file_unquery (mca_io_ompio_file_t *file) {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fbtl_pvfs2_module_init (mca_io_ompio_file_t *file) { int mca_fbtl_pvfs2_module_init (ompio_file_t *file) {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fbtl_pvfs2_module_finalize (mca_io_ompio_file_t *file) { int mca_fbtl_pvfs2_module_finalize (ompio_file_t *file) {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,6 +10,8 @@
* 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-2014 University of Houston. All rights reserved. * Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -44,11 +46,11 @@ BEGIN_C_DECLS
int mca_fbtl_pvfs2_component_init_query(bool enable_progress_threads, int mca_fbtl_pvfs2_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fbtl_base_module_1_0_0_t * struct mca_fbtl_base_module_1_0_0_t *
mca_fbtl_pvfs2_component_file_query (mca_io_ompio_file_t *file, int *priority); mca_fbtl_pvfs2_component_file_query (ompio_file_t *file, int *priority);
int mca_fbtl_pvfs2_component_file_unquery (mca_io_ompio_file_t *file); int mca_fbtl_pvfs2_component_file_unquery (ompio_file_t *file);
int mca_fbtl_pvfs2_module_init (mca_io_ompio_file_t *file); int mca_fbtl_pvfs2_module_init (ompio_file_t *file);
int mca_fbtl_pvfs2_module_finalize (mca_io_ompio_file_t *file); int mca_fbtl_pvfs2_module_finalize (ompio_file_t *file);
OMPI_MODULE_DECLSPEC extern mca_fbtl_base_component_2_0_0_t mca_fbtl_pvfs2_component; OMPI_MODULE_DECLSPEC extern mca_fbtl_base_component_2_0_0_t mca_fbtl_pvfs2_component;
/* /*
@ -57,11 +59,11 @@ OMPI_MODULE_DECLSPEC extern mca_fbtl_base_component_2_0_0_t mca_fbtl_pvfs2_compo
* ****************************************************************** * ******************************************************************
*/ */
ssize_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *file); ssize_t mca_fbtl_pvfs2_preadv (ompio_file_t *file);
ssize_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *file); ssize_t mca_fbtl_pvfs2_pwritev (ompio_file_t *file);
ssize_t mca_fbtl_pvfs2_ipreadv (mca_io_ompio_file_t *file, ssize_t mca_fbtl_pvfs2_ipreadv (ompio_file_t *file,
ompi_request_t **request); ompi_request_t **request);
ssize_t mca_fbtl_pvfs2_ipwritev (mca_io_ompio_file_t *file, ssize_t mca_fbtl_pvfs2_ipwritev (ompio_file_t *file,
ompi_request_t **request); ompi_request_t **request);
/* /*

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -25,7 +27,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_pvfs2_ipreadv (mca_io_ompio_file_t *file, ssize_t mca_fbtl_pvfs2_ipreadv (ompio_file_t *file,
ompi_request_t **request) ompi_request_t **request)
{ {
printf ("PVFS2 IPREADV\n"); printf ("PVFS2 IPREADV\n");

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -25,7 +27,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_pvfs2_ipwritev (mca_io_ompio_file_t *file, ssize_t mca_fbtl_pvfs2_ipwritev (ompio_file_t *file,
ompi_request_t **request) ompi_request_t **request)
{ {
printf ("PVFS2 IPWRITEV\n"); printf ("PVFS2 IPWRITEV\n");

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

@ -10,7 +10,7 @@
* 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-2014 University of Houston. All rights reserved. * Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -32,7 +32,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_pvfs2_preadv (mca_io_ompio_file_t *fh) ssize_t mca_fbtl_pvfs2_preadv (ompio_file_t *fh)
{ {
int i; int i;
int ret; int ret;

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

@ -10,7 +10,7 @@
* 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-2014 University of Houston. All rights reserved. * Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -33,7 +33,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/fbtl/fbtl.h" #include "ompi/mca/fbtl/fbtl.h"
ssize_t mca_fbtl_pvfs2_pwritev (mca_io_ompio_file_t *fh ) ssize_t mca_fbtl_pvfs2_pwritev (ompio_file_t *fh )
{ {
int i; int i;
int merge = 0; int merge = 0;

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

@ -12,6 +12,8 @@
* Copyright (c) 2008 Cisco Systems, Inc. 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2017 IBM Corporation. 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.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,22 +34,23 @@
#include "mpi.h" #include "mpi.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h"
#include "ompi/mca/fcoll/fcoll.h" #include "ompi/mca/fcoll/fcoll.h"
BEGIN_C_DECLS BEGIN_C_DECLS
OMPI_DECLSPEC int mca_fcoll_base_file_select(struct mca_io_ompio_file_t *file, OMPI_DECLSPEC int mca_fcoll_base_file_select(struct ompio_file_t *file,
mca_base_component_t *preferred); mca_base_component_t *preferred);
OMPI_DECLSPEC int mca_fcoll_base_query_table (struct mca_io_ompio_file_t *file, OMPI_DECLSPEC int mca_fcoll_base_query_table (struct ompio_file_t *file,
char *name); char *name);
OMPI_DECLSPEC int mca_fcoll_base_file_unselect(struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_fcoll_base_file_unselect(struct ompio_file_t *file);
OMPI_DECLSPEC int mca_fcoll_base_find_available(bool enable_progress_threads, OMPI_DECLSPEC int mca_fcoll_base_find_available(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
OMPI_DECLSPEC int mca_fcoll_base_init_file (struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_fcoll_base_init_file (struct ompio_file_t *file);
OMPI_DECLSPEC int mca_fcoll_base_get_param (struct mca_io_ompio_file_t *file, int keyval); OMPI_DECLSPEC int mca_fcoll_base_get_param (struct ompio_file_t *file, int keyval);
OMPI_DECLSPEC int ompi_fcoll_base_sort_iovec (struct iovec *iov, int num_entries, int *sorted); OMPI_DECLSPEC int ompi_fcoll_base_sort_iovec (struct iovec *iov, int num_entries, int *sorted);
/* /*

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

@ -10,6 +10,8 @@
* 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-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -62,7 +64,7 @@ static OBJ_CLASS_INSTANCE(queried_module_t, opal_list_item_t, NULL, NULL);
* their module but were unfortunate to not get selected * their module but were unfortunate to not get selected
*/ */
int mca_fcoll_base_file_select (struct mca_io_ompio_file_t *file, int mca_fcoll_base_file_select (struct ompio_file_t *file,
mca_base_component_t *preferred) mca_base_component_t *preferred)
{ {
int priority; int priority;
@ -255,7 +257,7 @@ int mca_fcoll_base_file_select (struct mca_io_ompio_file_t *file,
return err; return err;
} }
int mca_fcoll_base_query_table (struct mca_io_ompio_file_t *file, char *name) int mca_fcoll_base_query_table (struct ompio_file_t *file, char *name)
{ {
if (!strcmp (name, "individual")) { if (!strcmp (name, "individual")) {
if ((int)file->f_cc_size >= file->f_bytes_per_agg && if ((int)file->f_cc_size >= file->f_bytes_per_agg &&

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

@ -10,6 +10,8 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -31,7 +33,7 @@
#include "ompi/mca/fcoll/base/base.h" #include "ompi/mca/fcoll/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int mca_fcoll_base_file_unselect(mca_io_ompio_file_t *file) int mca_fcoll_base_file_unselect(ompio_file_t *file)
{ {
if (NULL != file->f_fcoll && NULL != file->f_fcoll->fcoll_module_finalize) { if (NULL != file->f_fcoll && NULL != file->f_fcoll->fcoll_module_finalize) {
return file->f_fcoll->fcoll_module_finalize(file); return file->f_fcoll->fcoll_module_finalize(file);

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

@ -10,7 +10,7 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -43,21 +43,21 @@ OMPI_MODULE_DECLSPEC extern mca_fcoll_base_component_2_0_0_t mca_fcoll_dynamic_c
int mca_fcoll_dynamic_component_init_query(bool enable_progress_threads, int mca_fcoll_dynamic_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fcoll_base_module_1_0_0_t * struct mca_fcoll_base_module_1_0_0_t *
mca_fcoll_dynamic_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fcoll_dynamic_component_file_query (ompio_file_t *fh, int *priority);
int mca_fcoll_dynamic_component_file_unquery (mca_io_ompio_file_t *file); int mca_fcoll_dynamic_component_file_unquery (ompio_file_t *file);
int mca_fcoll_dynamic_module_init (mca_io_ompio_file_t *file); int mca_fcoll_dynamic_module_init (ompio_file_t *file);
int mca_fcoll_dynamic_module_finalize (mca_io_ompio_file_t *file); int mca_fcoll_dynamic_module_finalize (ompio_file_t *file);
int mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh, int mca_fcoll_dynamic_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
int mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_dynamic_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -50,7 +50,7 @@ static int read_heap_sort (mca_io_ompio_local_io_array *io_array,
int int
mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh, mca_fcoll_dynamic_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -125,7 +125,7 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
if (! recvbuf_is_contiguous ) { if (! recvbuf_is_contiguous ) {
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *)fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *)fh,
datatype, datatype,
count, count,
buf, buf,
@ -149,7 +149,7 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
ret = OMPI_ERROR; ret = OMPI_ERROR;
goto exit; goto exit;
} }
ret = mca_common_ompio_set_aggregator_props ((struct mca_io_ompio_file_t *) fh, ret = mca_common_ompio_set_aggregator_props ((struct ompio_file_t *) fh,
dynamic_num_io_procs, dynamic_num_io_procs,
max_data); max_data);
if (OMPI_SUCCESS != ret){ if (OMPI_SUCCESS != ret){
@ -199,7 +199,7 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
/********************************************************************* /*********************************************************************
*** 3. Generate the File offsets/lengths corresponding to this write *** 3. Generate the File offsets/lengths corresponding to this write
********************************************************************/ ********************************************************************/
ret = fh->f_generate_current_file_view ((struct mca_io_ompio_file_t *) fh, ret = fh->f_generate_current_file_view ((struct ompio_file_t *) fh,
max_data, max_data,
&local_iov_array, &local_iov_array,
&local_count); &local_count);
@ -663,8 +663,8 @@ mca_fcoll_dynamic_file_read_all (mca_io_ompio_file_t *fh,
/********************************************************** /**********************************************************
*** 7e. Create the io array, and pass it to fbtl *** 7e. Create the io array, and pass it to fbtl
*********************************************************/ *********************************************************/
fh->f_io_array = (mca_io_ompio_io_array_t *) malloc fh->f_io_array = (mca_common_ompio_io_array_t *) malloc
(entries_per_aggregator * sizeof (mca_io_ompio_io_array_t)); (entries_per_aggregator * sizeof (mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;

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

@ -51,7 +51,7 @@ static int local_heap_sort (mca_io_ompio_local_io_array *io_array,
int int
mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh, mca_fcoll_dynamic_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -127,7 +127,7 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
if (! sendbuf_is_contiguous ) { if (! sendbuf_is_contiguous ) {
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *) fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *) fh,
datatype, datatype,
count, count,
buf, buf,
@ -151,7 +151,7 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
ret = OMPI_ERROR; ret = OMPI_ERROR;
goto exit; goto exit;
} }
ret = mca_common_ompio_set_aggregator_props ((struct mca_io_ompio_file_t *) fh, ret = mca_common_ompio_set_aggregator_props ((struct ompio_file_t *) fh,
dynamic_num_io_procs, dynamic_num_io_procs,
max_data); max_data);
@ -205,7 +205,7 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
*** 3. Generate the local offsets/lengths array corresponding to *** 3. Generate the local offsets/lengths array corresponding to
*** this write operation *** this write operation
********************************************************************/ ********************************************************************/
ret = fh->f_generate_current_file_view( (struct mca_io_ompio_file_t *) fh, ret = fh->f_generate_current_file_view( (struct ompio_file_t *) fh,
max_data, max_data,
&local_iov_array, &local_iov_array,
&local_count); &local_count);
@ -911,8 +911,8 @@ mca_fcoll_dynamic_file_write_all (mca_io_ompio_file_t *fh,
start_write_time = MPI_Wtime(); start_write_time = MPI_Wtime();
#endif #endif
fh->f_io_array = (mca_io_ompio_io_array_t *) malloc fh->f_io_array = (mca_common_ompio_io_array_t *) malloc
(entries_per_aggregator * sizeof (mca_io_ompio_io_array_t)); (entries_per_aggregator * sizeof (mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;

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

@ -10,6 +10,8 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -53,7 +55,7 @@ mca_fcoll_dynamic_component_init_query(bool enable_progress_threads,
} }
mca_fcoll_base_module_1_0_0_t * mca_fcoll_base_module_1_0_0_t *
mca_fcoll_dynamic_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fcoll_dynamic_component_file_query (ompio_file_t *fh, int *priority)
{ {
*priority = mca_fcoll_dynamic_priority; *priority = mca_fcoll_dynamic_priority;
if (0 >= mca_fcoll_dynamic_priority) { if (0 >= mca_fcoll_dynamic_priority) {
@ -69,7 +71,7 @@ mca_fcoll_dynamic_component_file_query (mca_io_ompio_file_t *fh, int *priority)
return &dynamic; return &dynamic;
} }
int mca_fcoll_dynamic_component_file_unquery (mca_io_ompio_file_t *file) int mca_fcoll_dynamic_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -78,13 +80,13 @@ int mca_fcoll_dynamic_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_dynamic_module_init (mca_io_ompio_file_t *file) int mca_fcoll_dynamic_module_init (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_dynamic_module_finalize (mca_io_ompio_file_t *file) int mca_fcoll_dynamic_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,7 +10,7 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -45,21 +45,21 @@ OMPI_MODULE_DECLSPEC extern mca_fcoll_base_component_2_0_0_t mca_fcoll_dynamic_g
int mca_fcoll_dynamic_gen2_component_init_query(bool enable_progress_threads, int mca_fcoll_dynamic_gen2_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fcoll_base_module_1_0_0_t * struct mca_fcoll_base_module_1_0_0_t *
mca_fcoll_dynamic_gen2_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fcoll_dynamic_gen2_component_file_query (ompio_file_t *fh, int *priority);
int mca_fcoll_dynamic_gen2_component_file_unquery (mca_io_ompio_file_t *file); int mca_fcoll_dynamic_gen2_component_file_unquery (ompio_file_t *file);
int mca_fcoll_dynamic_gen2_module_init (mca_io_ompio_file_t *file); int mca_fcoll_dynamic_gen2_module_init (ompio_file_t *file);
int mca_fcoll_dynamic_gen2_module_finalize (mca_io_ompio_file_t *file); int mca_fcoll_dynamic_gen2_module_finalize (ompio_file_t *file);
int mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh, int mca_fcoll_dynamic_gen2_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_dynamic_gen2_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -50,7 +50,7 @@ static int read_heap_sort (mca_io_ompio_local_io_array *io_array,
int int
mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh, mca_fcoll_dynamic_gen2_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -125,7 +125,7 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
if (! recvbuf_is_contiguous ) { if (! recvbuf_is_contiguous ) {
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *)fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *)fh,
datatype, datatype,
count, count,
buf, buf,
@ -149,7 +149,7 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
ret = OMPI_ERROR; ret = OMPI_ERROR;
goto exit; goto exit;
} }
ret = mca_common_ompio_set_aggregator_props ((struct mca_io_ompio_file_t *) fh, ret = mca_common_ompio_set_aggregator_props ((struct ompio_file_t *) fh,
dynamic_gen2_num_io_procs, dynamic_gen2_num_io_procs,
max_data); max_data);
if (OMPI_SUCCESS != ret){ if (OMPI_SUCCESS != ret){
@ -199,7 +199,7 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
/********************************************************************* /*********************************************************************
*** 3. Generate the File offsets/lengths corresponding to this write *** 3. Generate the File offsets/lengths corresponding to this write
********************************************************************/ ********************************************************************/
ret = fh->f_generate_current_file_view ((struct mca_io_ompio_file_t *) fh, ret = fh->f_generate_current_file_view ((struct ompio_file_t *) fh,
max_data, max_data,
&local_iov_array, &local_iov_array,
&local_count); &local_count);
@ -662,8 +662,8 @@ mca_fcoll_dynamic_gen2_file_read_all (mca_io_ompio_file_t *fh,
/********************************************************** /**********************************************************
*** 7e. Create the io array, and pass it to fbtl *** 7e. Create the io array, and pass it to fbtl
*********************************************************/ *********************************************************/
fh->f_io_array = (mca_io_ompio_io_array_t *) malloc fh->f_io_array = (mca_common_ompio_io_array_t *) malloc
(entries_per_aggregator * sizeof (mca_io_ompio_io_array_t)); (entries_per_aggregator * sizeof (mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;

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

@ -61,7 +61,7 @@ typedef struct mca_io_ompio_aggregator_data {
int bytes_sent, prev_bytes_sent; int bytes_sent, prev_bytes_sent;
struct iovec *decoded_iov; struct iovec *decoded_iov;
int bytes_to_write, prev_bytes_to_write; int bytes_to_write, prev_bytes_to_write;
mca_io_ompio_io_array_t *io_array, *prev_io_array; mca_common_ompio_io_array_t *io_array, *prev_io_array;
int num_io_entries, prev_num_io_entries; int num_io_entries, prev_num_io_entries;
} mca_io_ompio_aggregator_data; } mca_io_ompio_aggregator_data;
@ -92,7 +92,7 @@ typedef struct mca_io_ompio_aggregator_data {
static int shuffle_init ( int index, int cycles, int aggregator, int rank, static int shuffle_init ( int index, int cycles, int aggregator, int rank,
mca_io_ompio_aggregator_data *data, mca_io_ompio_aggregator_data *data,
ompi_request_t **reqs ); ompi_request_t **reqs );
static int write_init (mca_io_ompio_file_t *fh, int aggregator, mca_io_ompio_aggregator_data *aggr_data, int write_chunksize ); static int write_init (ompio_file_t *fh, int aggregator, mca_io_ompio_aggregator_data *aggr_data, int write_chunksize );
int mca_fcoll_dynamic_gen2_break_file_view ( struct iovec *decoded_iov, int iov_count, int mca_fcoll_dynamic_gen2_break_file_view ( struct iovec *decoded_iov, int iov_count,
struct iovec *local_iov_array, int local_count, struct iovec *local_iov_array, int local_count,
@ -102,7 +102,7 @@ int mca_fcoll_dynamic_gen2_break_file_view ( struct iovec *decoded_iov, int iov_
int stripe_count, int stripe_size); int stripe_count, int stripe_size);
int mca_fcoll_dynamic_gen2_get_configuration (mca_io_ompio_file_t *fh, int *dynamic_gen2_num_io_procs, int mca_fcoll_dynamic_gen2_get_configuration (ompio_file_t *fh, int *dynamic_gen2_num_io_procs,
int **ret_aggregators); int **ret_aggregators);
@ -110,12 +110,12 @@ static int local_heap_sort (mca_io_ompio_local_io_array *io_array,
int num_entries, int num_entries,
int *sorted); int *sorted);
int mca_fcoll_dynamic_gen2_split_iov_array ( mca_io_ompio_file_t *fh, mca_io_ompio_io_array_t *work_array, int mca_fcoll_dynamic_gen2_split_iov_array ( ompio_file_t *fh, mca_common_ompio_io_array_t *work_array,
int num_entries, int *last_array_pos, int *last_pos_in_field, int num_entries, int *last_array_pos, int *last_pos_in_field,
int chunk_size ); int chunk_size );
int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_dynamic_gen2_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -168,7 +168,7 @@ int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh,
the user requested */ the user requested */
bytes_per_cycle =bytes_per_cycle/2; bytes_per_cycle =bytes_per_cycle/2;
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *) fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *) fh,
datatype, datatype,
count, count,
buf, buf,
@ -234,7 +234,7 @@ int mca_fcoll_dynamic_gen2_file_write_all (mca_io_ompio_file_t *fh,
*** 2. Generate the local offsets/lengths array corresponding to *** 2. Generate the local offsets/lengths array corresponding to
*** this write operation *** this write operation
********************************************************************/ ********************************************************************/
ret = fh->f_generate_current_file_view( (struct mca_io_ompio_file_t *) fh, ret = fh->f_generate_current_file_view( (struct ompio_file_t *) fh,
max_data, max_data,
&local_iov_array, &local_iov_array,
&local_count); &local_count);
@ -734,7 +734,7 @@ exit :
} }
static int write_init (mca_io_ompio_file_t *fh, int aggregator, mca_io_ompio_aggregator_data *aggr_data, int write_chunksize ) static int write_init (ompio_file_t *fh, int aggregator, mca_io_ompio_aggregator_data *aggr_data, int write_chunksize )
{ {
int ret=OMPI_SUCCESS; int ret=OMPI_SUCCESS;
int last_array_pos=0; int last_array_pos=0;
@ -1258,8 +1258,8 @@ static int shuffle_init ( int index, int cycles, int aggregator, int rank, mca_i
if (aggregator == rank && entries_per_aggregator>0) { if (aggregator == rank && entries_per_aggregator>0) {
data->io_array = (mca_io_ompio_io_array_t *) malloc data->io_array = (mca_common_ompio_io_array_t *) malloc
(entries_per_aggregator * sizeof (mca_io_ompio_io_array_t)); (entries_per_aggregator * sizeof (mca_common_ompio_io_array_t));
if (NULL == data->io_array) { if (NULL == data->io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
@ -1549,7 +1549,7 @@ exit:
} }
int mca_fcoll_dynamic_gen2_get_configuration (mca_io_ompio_file_t *fh, int *dynamic_gen2_num_io_procs, int **ret_aggregators) int mca_fcoll_dynamic_gen2_get_configuration (ompio_file_t *fh, int *dynamic_gen2_num_io_procs, int **ret_aggregators)
{ {
int *aggregators=NULL; int *aggregators=NULL;
int num_io_procs = *dynamic_gen2_num_io_procs; int num_io_procs = *dynamic_gen2_num_io_procs;
@ -1591,7 +1591,7 @@ int mca_fcoll_dynamic_gen2_get_configuration (mca_io_ompio_file_t *fh, int *dyna
} }
int mca_fcoll_dynamic_gen2_split_iov_array ( mca_io_ompio_file_t *fh, mca_io_ompio_io_array_t *io_array, int num_entries, int mca_fcoll_dynamic_gen2_split_iov_array ( ompio_file_t *fh, mca_common_ompio_io_array_t *io_array, int num_entries,
int *ret_array_pos, int *ret_pos, int chunk_size ) int *ret_array_pos, int *ret_pos, int chunk_size )
{ {
@ -1601,7 +1601,7 @@ int mca_fcoll_dynamic_gen2_split_iov_array ( mca_io_ompio_file_t *fh, mca_io_omp
size_t bytes_to_write = chunk_size; size_t bytes_to_write = chunk_size;
if ( 0 == array_pos && 0 == pos ) { if ( 0 == array_pos && 0 == pos ) {
fh->f_io_array = (mca_io_ompio_io_array_t *) malloc ( num_entries * sizeof(mca_io_ompio_io_array_t)); fh->f_io_array = (mca_common_ompio_io_array_t *) malloc ( num_entries * sizeof(mca_common_ompio_io_array_t));
if ( NULL == fh->f_io_array ){ if ( NULL == fh->f_io_array ){
opal_output (1,"Could not allocate memory\n"); opal_output (1,"Could not allocate memory\n");
return -1; return -1;

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

@ -10,6 +10,8 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -53,7 +55,7 @@ mca_fcoll_dynamic_gen2_component_init_query(bool enable_progress_threads,
} }
mca_fcoll_base_module_1_0_0_t * mca_fcoll_base_module_1_0_0_t *
mca_fcoll_dynamic_gen2_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fcoll_dynamic_gen2_component_file_query (ompio_file_t *fh, int *priority)
{ {
*priority = mca_fcoll_dynamic_gen2_priority; *priority = mca_fcoll_dynamic_gen2_priority;
if (0 >= mca_fcoll_dynamic_gen2_priority) { if (0 >= mca_fcoll_dynamic_gen2_priority) {
@ -69,7 +71,7 @@ mca_fcoll_dynamic_gen2_component_file_query (mca_io_ompio_file_t *fh, int *prior
return &dynamic_gen2; return &dynamic_gen2;
} }
int mca_fcoll_dynamic_gen2_component_file_unquery (mca_io_ompio_file_t *file) int mca_fcoll_dynamic_gen2_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -78,13 +80,13 @@ int mca_fcoll_dynamic_gen2_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_dynamic_gen2_module_init (mca_io_ompio_file_t *file) int mca_fcoll_dynamic_gen2_module_init (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_dynamic_gen2_module_finalize (mca_io_ompio_file_t *file) int mca_fcoll_dynamic_gen2_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -13,7 +13,7 @@
* Copyright (c) 2008-2015 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 (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -33,7 +33,7 @@
BEGIN_C_DECLS BEGIN_C_DECLS
struct mca_io_ompio_file_t; struct ompio_file_t;
struct mca_fcoll_request_t; struct mca_fcoll_request_t;
/* /*
@ -76,11 +76,11 @@ typedef int (*mca_fcoll_base_component_init_query_1_0_0_fn_t)
bool enable_mpi_threads); bool enable_mpi_threads);
typedef struct mca_fcoll_base_module_1_0_0_t * typedef struct mca_fcoll_base_module_1_0_0_t *
(*mca_fcoll_base_component_file_query_1_0_0_fn_t) (struct mca_io_ompio_file_t *file, (*mca_fcoll_base_component_file_query_1_0_0_fn_t) (struct ompio_file_t *file,
int *priority); int *priority);
typedef int (*mca_fcoll_base_component_file_unquery_1_0_0_fn_t) typedef int (*mca_fcoll_base_component_file_unquery_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
/* /*
* ****************** component struct ****************************** * ****************** component struct ******************************
@ -107,34 +107,34 @@ typedef struct mca_fcoll_base_component_2_0_0_t mca_fcoll_base_component_t;
*/ */
typedef int (*mca_fcoll_base_module_init_1_0_0_fn_t) typedef int (*mca_fcoll_base_module_init_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
typedef int (*mca_fcoll_base_module_finalize_1_0_0_fn_t) typedef int (*mca_fcoll_base_module_finalize_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
typedef int (*mca_fcoll_base_module_file_read_all_fn_t) typedef int (*mca_fcoll_base_module_file_read_all_fn_t)
(struct mca_io_ompio_file_t *fh, (struct ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
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) typedef int (*mca_fcoll_base_module_file_iread_all_fn_t)
(struct mca_io_ompio_file_t *fh, (struct ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_request_t **request); ompi_request_t **request);
typedef int (*mca_fcoll_base_module_file_write_all_fn_t) typedef int (*mca_fcoll_base_module_file_write_all_fn_t)
(struct mca_io_ompio_file_t *fh, (struct ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
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) typedef int (*mca_fcoll_base_module_file_iwrite_all_fn_t)
(struct mca_io_ompio_file_t *fh, (struct ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -10,7 +10,7 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -43,21 +43,21 @@ OMPI_MODULE_DECLSPEC extern mca_fcoll_base_component_2_0_0_t mca_fcoll_individua
int mca_fcoll_individual_component_init_query(bool enable_progress_threads, int mca_fcoll_individual_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fcoll_base_module_1_0_0_t * struct mca_fcoll_base_module_1_0_0_t *
mca_fcoll_individual_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fcoll_individual_component_file_query (ompio_file_t *fh, int *priority);
int mca_fcoll_individual_component_file_unquery (mca_io_ompio_file_t *file); int mca_fcoll_individual_component_file_unquery (ompio_file_t *file);
int mca_fcoll_individual_module_init (mca_io_ompio_file_t *file); int mca_fcoll_individual_module_init (ompio_file_t *file);
int mca_fcoll_individual_module_finalize (mca_io_ompio_file_t *file); int mca_fcoll_individual_module_finalize (ompio_file_t *file);
int mca_fcoll_individual_file_read_all (mca_io_ompio_file_t *fh, int mca_fcoll_individual_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
int mca_fcoll_individual_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_individual_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -10,6 +10,8 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -31,7 +33,7 @@
/* this component just directly calls the individual I/O operations */ /* this component just directly calls the individual I/O operations */
int int
mca_fcoll_individual_file_read_all (mca_io_ompio_file_t *fh, mca_fcoll_individual_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -10,7 +10,7 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -30,7 +30,7 @@
#include <unistd.h> #include <unistd.h>
int mca_fcoll_individual_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_individual_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -10,6 +10,8 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -53,7 +55,7 @@ mca_fcoll_individual_component_init_query(bool enable_progress_threads,
} }
mca_fcoll_base_module_1_0_0_t * mca_fcoll_base_module_1_0_0_t *
mca_fcoll_individual_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fcoll_individual_component_file_query (ompio_file_t *fh, int *priority)
{ {
*priority = mca_fcoll_individual_priority; *priority = mca_fcoll_individual_priority;
if (0 >= mca_fcoll_individual_priority) { if (0 >= mca_fcoll_individual_priority) {
@ -72,7 +74,7 @@ mca_fcoll_individual_component_file_query (mca_io_ompio_file_t *fh, int *priorit
return &individual; return &individual;
} }
int mca_fcoll_individual_component_file_unquery (mca_io_ompio_file_t *file) int mca_fcoll_individual_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -81,13 +83,13 @@ int mca_fcoll_individual_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_individual_module_init (mca_io_ompio_file_t *file) int mca_fcoll_individual_module_init (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_individual_module_finalize (mca_io_ompio_file_t *file) int mca_fcoll_individual_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,7 +10,7 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -43,28 +43,28 @@ OMPI_MODULE_DECLSPEC extern mca_fcoll_base_component_2_0_0_t mca_fcoll_two_phase
int mca_fcoll_two_phase_component_init_query(bool enable_progress_threads, int mca_fcoll_two_phase_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fcoll_base_module_1_0_0_t * struct mca_fcoll_base_module_1_0_0_t *
mca_fcoll_two_phase_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fcoll_two_phase_component_file_query (ompio_file_t *fh, int *priority);
int mca_fcoll_two_phase_component_file_unquery (mca_io_ompio_file_t *file); int mca_fcoll_two_phase_component_file_unquery (ompio_file_t *file);
int mca_fcoll_two_phase_module_init (mca_io_ompio_file_t *file); int mca_fcoll_two_phase_module_init (ompio_file_t *file);
int mca_fcoll_two_phase_module_finalize (mca_io_ompio_file_t *file); int mca_fcoll_two_phase_module_finalize (ompio_file_t *file);
int mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
int mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
int mca_fcoll_two_phase_calc_aggregator (mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_calc_aggregator (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE off, OMPI_MPI_OFFSET_TYPE off,
OMPI_MPI_OFFSET_TYPE min_off, OMPI_MPI_OFFSET_TYPE min_off,
OMPI_MPI_OFFSET_TYPE *len, OMPI_MPI_OFFSET_TYPE *len,
@ -75,14 +75,14 @@ int mca_fcoll_two_phase_calc_aggregator (mca_io_ompio_file_t *fh,
int num_aggregators, int num_aggregators,
int *aggregator_list); int *aggregator_list);
int mca_fcoll_two_phase_calc_others_requests(mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_calc_others_requests(ompio_file_t *fh,
int count_my_req_procs, int count_my_req_procs,
int *count_my_req_per_proc, int *count_my_req_per_proc,
mca_io_ompio_access_array_t *my_req, mca_common_ompio_access_array_t *my_req,
int *count_others_req_procs_ptr, int *count_others_req_procs_ptr,
mca_io_ompio_access_array_t **others_req_ptr); mca_common_ompio_access_array_t **others_req_ptr);
int mca_fcoll_two_phase_calc_my_requests (mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_calc_my_requests (ompio_file_t *fh,
struct iovec *offset_len, struct iovec *offset_len,
int contig_access_count, int contig_access_count,
OMPI_MPI_OFFSET_TYPE min_st_offset, OMPI_MPI_OFFSET_TYPE min_st_offset,
@ -91,13 +91,13 @@ int mca_fcoll_two_phase_calc_my_requests (mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE fd_size, OMPI_MPI_OFFSET_TYPE fd_size,
int *count_my_req_procs_ptr, int *count_my_req_procs_ptr,
int **count_my_req_per_proc_ptr, int **count_my_req_per_proc_ptr,
mca_io_ompio_access_array_t **my_req_ptr, mca_common_ompio_access_array_t **my_req_ptr,
size_t **buf_indices, size_t **buf_indices,
int striping_unit, int striping_unit,
int num_aggregators, int num_aggregators,
int *aggregator_list); int *aggregator_list);
int mca_fcoll_two_phase_domain_partition (mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_domain_partition (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets, OMPI_MPI_OFFSET_TYPE *start_offsets,
OMPI_MPI_OFFSET_TYPE *end_offsets, OMPI_MPI_OFFSET_TYPE *end_offsets,
OMPI_MPI_OFFSET_TYPE *min_st_offset_ptr, OMPI_MPI_OFFSET_TYPE *min_st_offset_ptr,

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

@ -54,10 +54,10 @@ typedef struct flat_list_node {
}Flatlist_node; }Flatlist_node;
/* local function declarations */ /* local function declarations */
static int two_phase_read_and_exch(mca_io_ompio_file_t *fh, static int two_phase_read_and_exch(ompio_file_t *fh,
void *buf, void *buf,
MPI_Datatype datatype, MPI_Datatype datatype,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
struct iovec *offset_len, struct iovec *offset_len,
int contig_access_count, int contig_access_count,
OMPI_MPI_OFFSET_TYPE min_st_offset, OMPI_MPI_OFFSET_TYPE min_st_offset,
@ -68,7 +68,7 @@ static int two_phase_read_and_exch(mca_io_ompio_file_t *fh,
size_t *buf_idx, int striping_unit, size_t *buf_idx, int striping_unit,
int num_io_procs, int *aggregator_list); int num_io_procs, int *aggregator_list);
static int two_phase_exchange_data(mca_io_ompio_file_t *fh, static int two_phase_exchange_data(ompio_file_t *fh,
void *buf, void *buf,
struct iovec *offset_length, struct iovec *offset_length,
int *send_size, int *start_pos, int *send_size, int *start_pos,
@ -81,14 +81,14 @@ static int two_phase_exchange_data(mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *fd_start, OMPI_MPI_OFFSET_TYPE *fd_start,
OMPI_MPI_OFFSET_TYPE *fd_end, OMPI_MPI_OFFSET_TYPE *fd_end,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
int iter, int iter,
size_t *buf_idx, MPI_Aint buftype_extent, size_t *buf_idx, MPI_Aint buftype_extent,
int striping_unit, int num_io_procs, int striping_unit, int num_io_procs,
int *aggregator_list); int *aggregator_list);
static void two_phase_fill_user_buffer(mca_io_ompio_file_t *fh, static void two_phase_fill_user_buffer(ompio_file_t *fh,
void *buf, void *buf,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
char **recv_buf, char **recv_buf,
@ -119,7 +119,7 @@ double read_exch = 0.0, start_rexch = 0.0, end_rexch = 0.0;
int int
mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh, mca_fcoll_two_phase_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -141,7 +141,7 @@ mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets=NULL, *end_offsets=NULL; OMPI_MPI_OFFSET_TYPE *start_offsets=NULL, *end_offsets=NULL;
OMPI_MPI_OFFSET_TYPE *fd_start=NULL, *fd_end=NULL, min_st_offset = 0; OMPI_MPI_OFFSET_TYPE *fd_start=NULL, *fd_end=NULL, min_st_offset = 0;
Flatlist_node *flat_buf=NULL; Flatlist_node *flat_buf=NULL;
mca_io_ompio_access_array_t *my_req=NULL, *others_req=NULL; mca_common_ompio_access_array_t *my_req=NULL, *others_req=NULL;
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
mca_common_ompio_print_entry nentry; mca_common_ompio_print_entry nentry;
#endif #endif
@ -150,7 +150,7 @@ mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh,
// } // }
if (! (fh->f_flags & OMPIO_CONTIGUOUS_MEMORY)) { if (! (fh->f_flags & OMPIO_CONTIGUOUS_MEMORY)) {
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *)fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *)fh,
datatype, datatype,
count, count,
buf, buf,
@ -192,7 +192,7 @@ mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh,
goto exit; goto exit;
} }
if (-1 == two_phase_num_io_procs ){ if (-1 == two_phase_num_io_procs ){
ret = mca_common_ompio_set_aggregator_props ((struct mca_io_ompio_file_t *)fh, ret = mca_common_ompio_set_aggregator_props ((struct ompio_file_t *)fh,
two_phase_num_io_procs, two_phase_num_io_procs,
max_data); max_data);
if (OMPI_SUCCESS != ret){ if (OMPI_SUCCESS != ret){
@ -224,7 +224,7 @@ mca_fcoll_two_phase_file_read_all (mca_io_ompio_file_t *fh,
} }
} }
ret = fh->f_generate_current_file_view ((struct mca_io_ompio_file_t *)fh, ret = fh->f_generate_current_file_view ((struct ompio_file_t *)fh,
max_data, max_data,
&iov, &iov,
&local_count); &local_count);
@ -528,10 +528,10 @@ exit:
static int two_phase_read_and_exch(mca_io_ompio_file_t *fh, static int two_phase_read_and_exch(ompio_file_t *fh,
void *buf, void *buf,
MPI_Datatype datatype, MPI_Datatype datatype,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
struct iovec *offset_len, struct iovec *offset_len,
int contig_access_count, int contig_access_count,
OMPI_MPI_OFFSET_TYPE min_st_offset, OMPI_MPI_OFFSET_TYPE min_st_offset,
@ -726,8 +726,8 @@ static int two_phase_read_and_exch(mca_io_ompio_file_t *fh,
#endif #endif
len = size * byte_size; len = size * byte_size;
fh->f_io_array = (mca_io_ompio_io_array_t *)calloc fh->f_io_array = (mca_common_ompio_io_array_t *)calloc
(1,sizeof(mca_io_ompio_io_array_t)); (1,sizeof(mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
@ -827,7 +827,7 @@ exit:
} }
static int two_phase_exchange_data(mca_io_ompio_file_t *fh, static int two_phase_exchange_data(ompio_file_t *fh,
void *buf, struct iovec *offset_len, void *buf, struct iovec *offset_len,
int *send_size, int *start_pos, int *recv_size, int *send_size, int *start_pos, int *recv_size,
int *count, int *partial_send, int *count, int *partial_send,
@ -837,7 +837,7 @@ static int two_phase_exchange_data(mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *fd_start, OMPI_MPI_OFFSET_TYPE *fd_start,
OMPI_MPI_OFFSET_TYPE *fd_end, OMPI_MPI_OFFSET_TYPE *fd_end,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
int iter, size_t *buf_idx, int iter, size_t *buf_idx,
MPI_Aint buftype_extent, int striping_unit, MPI_Aint buftype_extent, int striping_unit,
int two_phase_num_io_procs, int *aggregator_list) int two_phase_num_io_procs, int *aggregator_list)
@ -1065,7 +1065,7 @@ exit:
static void two_phase_fill_user_buffer(mca_io_ompio_file_t *fh, static void two_phase_fill_user_buffer(ompio_file_t *fh,
void *buf, void *buf,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
char **recv_buf, char **recv_buf,

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

@ -56,10 +56,10 @@ typedef struct flat_list_node {
/* local function declarations */ /* local function declarations */
static int two_phase_exch_and_write(mca_io_ompio_file_t *fh, static int two_phase_exch_and_write(ompio_file_t *fh,
const void *buf, const void *buf,
MPI_Datatype datatype, MPI_Datatype datatype,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
struct iovec *offset_len, struct iovec *offset_len,
int contig_access_count, int contig_access_count,
OMPI_MPI_OFFSET_TYPE min_st_offset, OMPI_MPI_OFFSET_TYPE min_st_offset,
@ -72,7 +72,7 @@ static int two_phase_exch_and_write(mca_io_ompio_file_t *fh,
static int two_phase_exchage_data(mca_io_ompio_file_t *fh, static int two_phase_exchage_data(ompio_file_t *fh,
const void *buf, const void *buf,
char *write_buf, char *write_buf,
struct iovec *offset_length, struct iovec *offset_length,
@ -87,7 +87,7 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *fd_start, OMPI_MPI_OFFSET_TYPE *fd_start,
OMPI_MPI_OFFSET_TYPE *fd_end, OMPI_MPI_OFFSET_TYPE *fd_end,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
int *send_buf_idx, int *curr_to_proc, int *send_buf_idx, int *curr_to_proc,
int *done_to_proc, int iter, int *done_to_proc, int iter,
size_t *buf_idx, MPI_Aint buftype_extent, size_t *buf_idx, MPI_Aint buftype_extent,
@ -95,7 +95,7 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,
int *aggregator_list, int *hole); int *aggregator_list, int *hole);
static int two_phase_fill_send_buffer(mca_io_ompio_file_t *fh, static int two_phase_fill_send_buffer(ompio_file_t *fh,
const void *buf, const void *buf,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
char **send_buf, char **send_buf,
@ -120,7 +120,7 @@ static int is_aggregator(int rank,
int *aggregator_list); int *aggregator_list);
#endif #endif
void two_phase_heap_merge(mca_io_ompio_access_array_t *others_req, void two_phase_heap_merge(mca_common_ompio_access_array_t *others_req,
int *count, int *count,
OMPI_MPI_OFFSET_TYPE *srt_off, OMPI_MPI_OFFSET_TYPE *srt_off,
int *srt_len, int *srt_len,
@ -141,7 +141,7 @@ double exch_write = 0.0, start_exch = 0.0, end_exch = 0.0;
#endif #endif
int int
mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh, mca_fcoll_two_phase_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -166,7 +166,7 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets=NULL, *end_offsets=NULL; OMPI_MPI_OFFSET_TYPE *start_offsets=NULL, *end_offsets=NULL;
OMPI_MPI_OFFSET_TYPE *fd_start=NULL, *fd_end=NULL, min_st_offset; OMPI_MPI_OFFSET_TYPE *fd_start=NULL, *fd_end=NULL, min_st_offset;
Flatlist_node *flat_buf=NULL; Flatlist_node *flat_buf=NULL;
mca_io_ompio_access_array_t *my_req=NULL, *others_req=NULL; mca_common_ompio_access_array_t *my_req=NULL, *others_req=NULL;
MPI_Aint send_buf_addr; MPI_Aint send_buf_addr;
#if OMPIO_FCOLL_WANT_TIME_BREAKDOWN #if OMPIO_FCOLL_WANT_TIME_BREAKDOWN
mca_common_ompio_print_entry nentry; mca_common_ompio_print_entry nentry;
@ -180,7 +180,7 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
if (! (fh->f_flags & OMPIO_CONTIGUOUS_MEMORY)) { if (! (fh->f_flags & OMPIO_CONTIGUOUS_MEMORY)) {
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *)fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *)fh,
datatype, datatype,
count, count,
buf, buf,
@ -228,7 +228,7 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
goto exit; goto exit;
} }
if(-1 == two_phase_num_io_procs){ if(-1 == two_phase_num_io_procs){
ret = mca_common_ompio_set_aggregator_props ((struct mca_io_ompio_file_t *)fh, ret = mca_common_ompio_set_aggregator_props ((struct ompio_file_t *)fh,
two_phase_num_io_procs, two_phase_num_io_procs,
max_data); max_data);
if ( OMPI_SUCCESS != ret){ if ( OMPI_SUCCESS != ret){
@ -264,7 +264,7 @@ mca_fcoll_two_phase_file_write_all (mca_io_ompio_file_t *fh,
} }
} }
ret = fh->f_generate_current_file_view ((struct mca_io_ompio_file_t*)fh, ret = fh->f_generate_current_file_view ((struct ompio_file_t*)fh,
max_data, max_data,
&iov, &iov,
&local_count); &local_count);
@ -590,10 +590,10 @@ exit :
} }
static int two_phase_exch_and_write(mca_io_ompio_file_t *fh, static int two_phase_exch_and_write(ompio_file_t *fh,
const void *buf, const void *buf,
MPI_Datatype datatype, MPI_Datatype datatype,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
struct iovec *offset_len, struct iovec *offset_len,
int contig_access_count, int contig_access_count,
OMPI_MPI_OFFSET_TYPE min_st_offset, OMPI_MPI_OFFSET_TYPE min_st_offset,
@ -842,8 +842,8 @@ static int two_phase_exch_and_write(mca_io_ompio_file_t *fh,
} }
#endif #endif
len = size * byte_size; len = size * byte_size;
fh->f_io_array = (mca_io_ompio_io_array_t *)malloc fh->f_io_array = (mca_common_ompio_io_array_t *)malloc
(sizeof(mca_io_ompio_io_array_t)); (sizeof(mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
@ -928,7 +928,7 @@ exit:
return ret; return ret;
} }
static int two_phase_exchage_data(mca_io_ompio_file_t *fh, static int two_phase_exchage_data(ompio_file_t *fh,
const void *buf, const void *buf,
char *write_buf, char *write_buf,
struct iovec *offset_length, struct iovec *offset_length,
@ -943,7 +943,7 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *fd_start, OMPI_MPI_OFFSET_TYPE *fd_start,
OMPI_MPI_OFFSET_TYPE *fd_end, OMPI_MPI_OFFSET_TYPE *fd_end,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
mca_io_ompio_access_array_t *others_req, mca_common_ompio_access_array_t *others_req,
int *send_buf_idx, int *curr_to_proc, int *send_buf_idx, int *curr_to_proc,
int *done_to_proc, int iter, int *done_to_proc, int iter,
size_t *buf_idx,MPI_Aint buftype_extent, size_t *buf_idx,MPI_Aint buftype_extent,
@ -1069,8 +1069,8 @@ static int two_phase_exchage_data(mca_io_ompio_file_t *fh,
if (nprocs_recv){ if (nprocs_recv){
if (*hole){ if (*hole){
if (off >= 0){ if (off >= 0){
fh->f_io_array = (mca_io_ompio_io_array_t *)malloc fh->f_io_array = (mca_common_ompio_io_array_t *)malloc
(sizeof(mca_io_ompio_io_array_t)); (sizeof(mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
@ -1287,7 +1287,7 @@ exit:
static int two_phase_fill_send_buffer(mca_io_ompio_file_t *fh, static int two_phase_fill_send_buffer(ompio_file_t *fh,
const void *buf, const void *buf,
Flatlist_node *flat_buf, Flatlist_node *flat_buf,
char **send_buf, char **send_buf,
@ -1407,7 +1407,7 @@ static int two_phase_fill_send_buffer(mca_io_ompio_file_t *fh,
void two_phase_heap_merge( mca_io_ompio_access_array_t *others_req, void two_phase_heap_merge( mca_common_ompio_access_array_t *others_req,
int *count, int *count,
OMPI_MPI_OFFSET_TYPE *srt_off, OMPI_MPI_OFFSET_TYPE *srt_off,
int *srt_len, int *srt_len,

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

@ -10,6 +10,8 @@
* 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-2015 University of Houston. All rights reserved. * Copyright (c) 2008-2015 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -53,7 +55,7 @@ mca_fcoll_two_phase_component_init_query(bool enable_progress_threads,
} }
mca_fcoll_base_module_1_0_0_t * mca_fcoll_base_module_1_0_0_t *
mca_fcoll_two_phase_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fcoll_two_phase_component_file_query (ompio_file_t *fh, int *priority)
{ {
*priority = mca_fcoll_two_phase_priority; *priority = mca_fcoll_two_phase_priority;
if (0 >= mca_fcoll_two_phase_priority) { if (0 >= mca_fcoll_two_phase_priority) {
@ -69,7 +71,7 @@ mca_fcoll_two_phase_component_file_query (mca_io_ompio_file_t *fh, int *priority
return &two_phase; return &two_phase;
} }
int mca_fcoll_two_phase_component_file_unquery (mca_io_ompio_file_t *file) int mca_fcoll_two_phase_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -78,13 +80,13 @@ int mca_fcoll_two_phase_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_two_phase_module_init (mca_io_ompio_file_t *file) int mca_fcoll_two_phase_module_init (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_two_phase_module_finalize (mca_io_ompio_file_t *file) int mca_fcoll_two_phase_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -41,7 +41,7 @@ Functions to support Domain partitioning and aggregator
selection for two_phase . selection for two_phase .
This is commom to both two_phase_read and write. */ This is commom to both two_phase_read and write. */
int mca_fcoll_two_phase_domain_partition (mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_domain_partition (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *start_offsets, OMPI_MPI_OFFSET_TYPE *start_offsets,
OMPI_MPI_OFFSET_TYPE *end_offsets, OMPI_MPI_OFFSET_TYPE *end_offsets,
OMPI_MPI_OFFSET_TYPE *min_st_offset_ptr, OMPI_MPI_OFFSET_TYPE *min_st_offset_ptr,
@ -143,7 +143,7 @@ int mca_fcoll_two_phase_domain_partition (mca_io_ompio_file_t *fh,
int mca_fcoll_two_phase_calc_aggregator(mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_calc_aggregator(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE off, OMPI_MPI_OFFSET_TYPE off,
OMPI_MPI_OFFSET_TYPE min_off, OMPI_MPI_OFFSET_TYPE min_off,
OMPI_MPI_OFFSET_TYPE *len, OMPI_MPI_OFFSET_TYPE *len,
@ -191,19 +191,19 @@ int mca_fcoll_two_phase_calc_aggregator(mca_io_ompio_file_t *fh,
return rank; return rank;
} }
int mca_fcoll_two_phase_calc_others_requests(mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_calc_others_requests(ompio_file_t *fh,
int count_my_req_procs, int count_my_req_procs,
int *count_my_req_per_proc, int *count_my_req_per_proc,
mca_io_ompio_access_array_t *my_req, mca_common_ompio_access_array_t *my_req,
int *count_others_req_procs_ptr, int *count_others_req_procs_ptr,
mca_io_ompio_access_array_t **others_req_ptr) mca_common_ompio_access_array_t **others_req_ptr)
{ {
int *count_others_req_per_proc=NULL, count_others_req_procs; int *count_others_req_per_proc=NULL, count_others_req_procs;
int i,j, ret=OMPI_SUCCESS; int i,j, ret=OMPI_SUCCESS;
MPI_Request *requests=NULL; MPI_Request *requests=NULL;
mca_io_ompio_access_array_t *others_req=NULL; mca_common_ompio_access_array_t *others_req=NULL;
count_others_req_per_proc = (int *)malloc(fh->f_size*sizeof(int)); count_others_req_per_proc = (int *)malloc(fh->f_size*sizeof(int));
@ -232,8 +232,8 @@ int mca_fcoll_two_phase_calc_others_requests(mca_io_ompio_file_t *fh,
} }
#endif #endif
*others_req_ptr = (mca_io_ompio_access_array_t *) malloc *others_req_ptr = (mca_common_ompio_access_array_t *) malloc
(fh->f_size*sizeof(mca_io_ompio_access_array_t)); (fh->f_size*sizeof(mca_common_ompio_access_array_t));
others_req = *others_req_ptr; others_req = *others_req_ptr;
count_others_req_procs = 0; count_others_req_procs = 0;
@ -347,7 +347,7 @@ exit:
} }
int mca_fcoll_two_phase_calc_my_requests (mca_io_ompio_file_t *fh, int mca_fcoll_two_phase_calc_my_requests (ompio_file_t *fh,
struct iovec *offset_len, struct iovec *offset_len,
int contig_access_count, int contig_access_count,
OMPI_MPI_OFFSET_TYPE min_st_offset, OMPI_MPI_OFFSET_TYPE min_st_offset,
@ -356,7 +356,7 @@ int mca_fcoll_two_phase_calc_my_requests (mca_io_ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE fd_size, OMPI_MPI_OFFSET_TYPE fd_size,
int *count_my_req_procs_ptr, int *count_my_req_procs_ptr,
int **count_my_req_per_proc_ptr, int **count_my_req_per_proc_ptr,
mca_io_ompio_access_array_t **my_req_ptr, mca_common_ompio_access_array_t **my_req_ptr,
size_t **buf_indices, size_t **buf_indices,
int striping_unit, int striping_unit,
int num_aggregators, int num_aggregators,
@ -367,7 +367,7 @@ int mca_fcoll_two_phase_calc_my_requests (mca_io_ompio_file_t *fh,
size_t *buf_idx = NULL; size_t *buf_idx = NULL;
int i, l, proc; int i, l, proc;
OMPI_MPI_OFFSET_TYPE fd_len, rem_len, curr_idx, off; OMPI_MPI_OFFSET_TYPE fd_len, rem_len, curr_idx, off;
mca_io_ompio_access_array_t *my_req = NULL; mca_common_ompio_access_array_t *my_req = NULL;
*count_my_req_per_proc_ptr = (int*)malloc(fh->f_size*sizeof(int)); *count_my_req_per_proc_ptr = (int*)malloc(fh->f_size*sizeof(int));
@ -415,8 +415,8 @@ int mca_fcoll_two_phase_calc_my_requests (mca_io_ompio_file_t *fh,
} }
/* printf("%d: fh->f_size : %d\n", fh->f_rank,fh->f_size);*/ /* printf("%d: fh->f_size : %d\n", fh->f_rank,fh->f_size);*/
*my_req_ptr = (mca_io_ompio_access_array_t *) *my_req_ptr = (mca_common_ompio_access_array_t *)
malloc (fh->f_size * sizeof(mca_io_ompio_access_array_t)); malloc (fh->f_size * sizeof(mca_common_ompio_access_array_t));
if ( NULL == *my_req_ptr ) { if ( NULL == *my_req_ptr ) {
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
goto err_exit; goto err_exit;

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

@ -10,7 +10,7 @@
* 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-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -46,21 +46,21 @@ OMPI_MODULE_DECLSPEC extern mca_fcoll_base_component_2_0_0_t mca_fcoll_vulcan_co
int mca_fcoll_vulcan_component_init_query(bool enable_progress_threads, int mca_fcoll_vulcan_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fcoll_base_module_1_0_0_t * struct mca_fcoll_base_module_1_0_0_t *
mca_fcoll_vulcan_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fcoll_vulcan_component_file_query (ompio_file_t *fh, int *priority);
int mca_fcoll_vulcan_component_file_unquery (mca_io_ompio_file_t *file); int mca_fcoll_vulcan_component_file_unquery (ompio_file_t *file);
int mca_fcoll_vulcan_module_init (mca_io_ompio_file_t *file); int mca_fcoll_vulcan_module_init (ompio_file_t *file);
int mca_fcoll_vulcan_module_finalize (mca_io_ompio_file_t *file); int mca_fcoll_vulcan_module_finalize (ompio_file_t *file);
int mca_fcoll_vulcan_file_read_all (mca_io_ompio_file_t *fh, int mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t * status); ompi_status_public_t * status);
int mca_fcoll_vulcan_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_vulcan_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -49,7 +49,7 @@ static int read_heap_sort (mca_io_ompio_local_io_array *io_array,
int int
mca_fcoll_vulcan_file_read_all (mca_io_ompio_file_t *fh, mca_fcoll_vulcan_file_read_all (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -124,7 +124,7 @@ mca_fcoll_vulcan_file_read_all (mca_io_ompio_file_t *fh,
if (! recvbuf_is_contiguous ) { if (! recvbuf_is_contiguous ) {
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *)fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *)fh,
datatype, datatype,
count, count,
buf, buf,
@ -149,7 +149,7 @@ mca_fcoll_vulcan_file_read_all (mca_io_ompio_file_t *fh,
goto exit; goto exit;
} }
ret = mca_common_ompio_set_aggregator_props ((struct mca_io_ompio_file_t *) fh, ret = mca_common_ompio_set_aggregator_props ((struct ompio_file_t *) fh,
vulcan_num_io_procs, vulcan_num_io_procs,
max_data); max_data);
if (OMPI_SUCCESS != ret){ if (OMPI_SUCCESS != ret){
@ -199,7 +199,7 @@ mca_fcoll_vulcan_file_read_all (mca_io_ompio_file_t *fh,
/********************************************************************* /*********************************************************************
*** 3. Generate the File offsets/lengths corresponding to this write *** 3. Generate the File offsets/lengths corresponding to this write
********************************************************************/ ********************************************************************/
ret = fh->f_generate_current_file_view ((struct mca_io_ompio_file_t *) fh, ret = fh->f_generate_current_file_view ((struct ompio_file_t *) fh,
max_data, max_data,
&local_iov_array, &local_iov_array,
&local_count); &local_count);
@ -662,8 +662,8 @@ mca_fcoll_vulcan_file_read_all (mca_io_ompio_file_t *fh,
/********************************************************** /**********************************************************
*** 7e. Create the io array, and pass it to fbtl *** 7e. Create the io array, and pass it to fbtl
*********************************************************/ *********************************************************/
fh->f_io_array = (mca_io_ompio_io_array_t *) malloc fh->f_io_array = (mca_common_ompio_io_array_t *) malloc
(entries_per_aggregator * sizeof (mca_io_ompio_io_array_t)); (entries_per_aggregator * sizeof (mca_common_ompio_io_array_t));
if (NULL == fh->f_io_array) { if (NULL == fh->f_io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;

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

@ -60,7 +60,7 @@ typedef struct mca_io_ompio_aggregator_data {
int bytes_sent, prev_bytes_sent; int bytes_sent, prev_bytes_sent;
struct iovec *decoded_iov; struct iovec *decoded_iov;
int bytes_to_write, prev_bytes_to_write; int bytes_to_write, prev_bytes_to_write;
mca_io_ompio_io_array_t *io_array, *prev_io_array; mca_common_ompio_io_array_t *io_array, *prev_io_array;
int num_io_entries, prev_num_io_entries; int num_io_entries, prev_num_io_entries;
} mca_io_ompio_aggregator_data; } mca_io_ompio_aggregator_data;
@ -91,7 +91,7 @@ typedef struct mca_io_ompio_aggregator_data {
static int shuffle_init ( int index, int cycles, int aggregator, int rank, static int shuffle_init ( int index, int cycles, int aggregator, int rank,
mca_io_ompio_aggregator_data *data, mca_io_ompio_aggregator_data *data,
ompi_request_t **reqs ); ompi_request_t **reqs );
static int write_init (mca_io_ompio_file_t *fh, int aggregator, mca_io_ompio_aggregator_data *aggr_data, static int write_init (ompio_file_t *fh, int aggregator, mca_io_ompio_aggregator_data *aggr_data,
int write_chunksize, int write_synchType, ompi_request_t **request); int write_chunksize, int write_synchType, ompi_request_t **request);
int mca_fcoll_vulcan_break_file_view ( struct iovec *decoded_iov, int iov_count, int mca_fcoll_vulcan_break_file_view ( struct iovec *decoded_iov, int iov_count,
struct iovec *local_iov_array, int local_count, struct iovec *local_iov_array, int local_count,
@ -101,7 +101,7 @@ int mca_fcoll_vulcan_break_file_view ( struct iovec *decoded_iov, int iov_count,
int stripe_count, size_t stripe_size); int stripe_count, size_t stripe_size);
int mca_fcoll_vulcan_get_configuration (mca_io_ompio_file_t *fh, int num_io_procs, int mca_fcoll_vulcan_get_configuration (ompio_file_t *fh, int num_io_procs,
int num_groups, size_t max_data); int num_groups, size_t max_data);
@ -109,16 +109,16 @@ static int local_heap_sort (mca_io_ompio_local_io_array *io_array,
int num_entries, int num_entries,
int *sorted); int *sorted);
int mca_fcoll_vulcan_split_iov_array ( mca_io_ompio_file_t *fh, mca_io_ompio_io_array_t *work_array, int mca_fcoll_vulcan_split_iov_array ( ompio_file_t *fh, mca_common_ompio_io_array_t *work_array,
int num_entries, int *last_array_pos, int *last_pos_in_field, int num_entries, int *last_array_pos, int *last_pos_in_field,
int chunk_size ); int chunk_size );
static int mca_fcoll_vulcan_minmax ( mca_io_ompio_file_t *fh, struct iovec *iov, int iov_count, int num_aggregators, static int mca_fcoll_vulcan_minmax ( ompio_file_t *fh, struct iovec *iov, int iov_count, int num_aggregators,
long *new_stripe_size); long *new_stripe_size);
int mca_fcoll_vulcan_file_write_all (mca_io_ompio_file_t *fh, int mca_fcoll_vulcan_file_write_all (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -184,7 +184,7 @@ int mca_fcoll_vulcan_file_write_all (mca_io_ompio_file_t *fh,
bytes_per_cycle =bytes_per_cycle/2; bytes_per_cycle =bytes_per_cycle/2;
write_chunksize = bytes_per_cycle; write_chunksize = bytes_per_cycle;
ret = mca_common_ompio_decode_datatype ((struct mca_io_ompio_file_t *) fh, ret = mca_common_ompio_decode_datatype ((struct ompio_file_t *) fh,
datatype, datatype,
count, count,
buf, buf,
@ -228,7 +228,7 @@ int mca_fcoll_vulcan_file_write_all (mca_io_ompio_file_t *fh,
*** 2. Generate the local offsets/lengths array corresponding to *** 2. Generate the local offsets/lengths array corresponding to
*** this write operation *** this write operation
********************************************************************/ ********************************************************************/
ret = fh->f_generate_current_file_view( (struct mca_io_ompio_file_t *) fh, ret = fh->f_generate_current_file_view( (struct ompio_file_t *) fh,
max_data, max_data,
&local_iov_array, &local_iov_array,
&local_count); &local_count);
@ -735,7 +735,7 @@ exit :
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
static int write_init (mca_io_ompio_file_t *fh, static int write_init (ompio_file_t *fh,
int aggregator, int aggregator,
mca_io_ompio_aggregator_data *aggr_data, mca_io_ompio_aggregator_data *aggr_data,
int write_chunksize, int write_chunksize,
@ -1292,8 +1292,8 @@ static int shuffle_init ( int index, int cycles, int aggregator, int rank, mca_i
if (aggregator == rank && entries_per_aggregator>0) { if (aggregator == rank && entries_per_aggregator>0) {
data->io_array = (mca_io_ompio_io_array_t *) malloc data->io_array = (mca_common_ompio_io_array_t *) malloc
(entries_per_aggregator * sizeof (mca_io_ompio_io_array_t)); (entries_per_aggregator * sizeof (mca_common_ompio_io_array_t));
if (NULL == data->io_array) { if (NULL == data->io_array) {
opal_output(1, "OUT OF MEMORY\n"); opal_output(1, "OUT OF MEMORY\n");
ret = OMPI_ERR_OUT_OF_RESOURCE; ret = OMPI_ERR_OUT_OF_RESOURCE;
@ -1353,7 +1353,7 @@ exit:
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
static int mca_fcoll_vulcan_minmax ( mca_io_ompio_file_t *fh, struct iovec *iov, int iov_count, int num_aggregators, long *new_stripe_size) static int mca_fcoll_vulcan_minmax ( ompio_file_t *fh, struct iovec *iov, int iov_count, int num_aggregators, long *new_stripe_size)
{ {
long min, max, globalmin, globalmax; long min, max, globalmin, globalmax;
long stripe_size; long stripe_size;
@ -1616,7 +1616,7 @@ exit:
} }
int mca_fcoll_vulcan_get_configuration (mca_io_ompio_file_t *fh, int num_io_procs, int num_groups, int mca_fcoll_vulcan_get_configuration (ompio_file_t *fh, int num_io_procs, int num_groups,
size_t max_data) size_t max_data)
{ {
int i, ret; int i, ret;
@ -1647,7 +1647,7 @@ int mca_fcoll_vulcan_get_configuration (mca_io_ompio_file_t *fh, int num_io_proc
} }
int mca_fcoll_vulcan_split_iov_array ( mca_io_ompio_file_t *fh, mca_io_ompio_io_array_t *io_array, int num_entries, int mca_fcoll_vulcan_split_iov_array ( ompio_file_t *fh, mca_common_ompio_io_array_t *io_array, int num_entries,
int *ret_array_pos, int *ret_pos, int chunk_size ) int *ret_array_pos, int *ret_pos, int chunk_size )
{ {
@ -1657,7 +1657,7 @@ int mca_fcoll_vulcan_split_iov_array ( mca_io_ompio_file_t *fh, mca_io_ompio_io_
size_t bytes_to_write = chunk_size; size_t bytes_to_write = chunk_size;
if ( 0 == array_pos && 0 == pos ) { if ( 0 == array_pos && 0 == pos ) {
fh->f_io_array = (mca_io_ompio_io_array_t *) malloc ( num_entries * sizeof(mca_io_ompio_io_array_t)); fh->f_io_array = (mca_common_ompio_io_array_t *) malloc ( num_entries * sizeof(mca_common_ompio_io_array_t));
if ( NULL == fh->f_io_array ){ if ( NULL == fh->f_io_array ){
opal_output (1,"Could not allocate memory\n"); opal_output (1,"Could not allocate memory\n");
return -1; return -1;

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

@ -10,6 +10,8 @@
* 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-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -53,7 +55,7 @@ mca_fcoll_vulcan_component_init_query(bool enable_progress_threads,
} }
mca_fcoll_base_module_1_0_0_t * mca_fcoll_base_module_1_0_0_t *
mca_fcoll_vulcan_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fcoll_vulcan_component_file_query (ompio_file_t *fh, int *priority)
{ {
*priority = mca_fcoll_vulcan_priority; *priority = mca_fcoll_vulcan_priority;
if (0 >= mca_fcoll_vulcan_priority) { if (0 >= mca_fcoll_vulcan_priority) {
@ -69,7 +71,7 @@ mca_fcoll_vulcan_component_file_query (mca_io_ompio_file_t *fh, int *priority)
return &vulcan; return &vulcan;
} }
int mca_fcoll_vulcan_component_file_unquery (mca_io_ompio_file_t *file) int mca_fcoll_vulcan_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -78,13 +80,13 @@ int mca_fcoll_vulcan_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_vulcan_module_init (mca_io_ompio_file_t *file) int mca_fcoll_vulcan_module_init (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fcoll_vulcan_module_finalize (mca_io_ompio_file_t *file) int mca_fcoll_vulcan_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -11,6 +11,8 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2008 Cisco Systems, Inc. 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -30,23 +32,24 @@
#include "ompi_config.h" #include "ompi_config.h"
#include "mpi.h" #include "mpi.h"
#include "ompi/mca/fs/fs.h"
#include "opal/mca/base/base.h" #include "opal/mca/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h"
#include "ompi/mca/fs/fs.h"
BEGIN_C_DECLS BEGIN_C_DECLS
OMPI_DECLSPEC int mca_fs_base_file_select(struct mca_io_ompio_file_t *file, OMPI_DECLSPEC int mca_fs_base_file_select(struct ompio_file_t *file,
mca_base_component_t *preferred); mca_base_component_t *preferred);
OMPI_DECLSPEC int mca_fs_base_file_unselect(struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_fs_base_file_unselect(struct ompio_file_t *file);
OMPI_DECLSPEC int mca_fs_base_find_available(bool enable_progress_threads, OMPI_DECLSPEC int mca_fs_base_find_available(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
OMPI_DECLSPEC int mca_fs_base_init_file (struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_fs_base_init_file (struct ompio_file_t *file);
OMPI_DECLSPEC int mca_fs_base_get_param (struct mca_io_ompio_file_t *file, int keyval); OMPI_DECLSPEC int mca_fs_base_get_param (struct ompio_file_t *file, int keyval);
OMPI_DECLSPEC void mca_fs_base_get_parent_dir (char *filename, char **dirnamep); OMPI_DECLSPEC void mca_fs_base_get_parent_dir (char *filename, char **dirnamep);
OMPI_DECLSPEC int mca_fs_base_get_fstype(char *fname); OMPI_DECLSPEC int mca_fs_base_get_fstype(char *fname);
/* /*

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

@ -10,6 +10,8 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -62,7 +64,7 @@ static OBJ_CLASS_INSTANCE(queried_module_t, opal_list_item_t, NULL, NULL);
* their module but were unfortunate to not get selected * their module but were unfortunate to not get selected
*/ */
int mca_fs_base_file_select (struct mca_io_ompio_file_t *file, int mca_fs_base_file_select (struct ompio_file_t *file,
mca_base_component_t *preferred) mca_base_component_t *preferred)
{ {
int priority; int priority;

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

@ -10,6 +10,8 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +34,7 @@
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int mca_fs_base_file_unselect(mca_io_ompio_file_t *file) int mca_fs_base_file_unselect(ompio_file_t *file)
{ {
if (NULL != file->f_fs && NULL != file->f_fs->fs_module_finalize) { if (NULL != file->f_fs && NULL != file->f_fs->fs_module_finalize) {
return file->f_fs->fs_module_finalize(file); return file->f_fs->fs_module_finalize(file);

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

@ -13,7 +13,7 @@
* Copyright (c) 2008-2015 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 (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -34,7 +34,7 @@
BEGIN_C_DECLS BEGIN_C_DECLS
struct mca_io_ompio_file_t; struct ompio_file_t;
/* /*
* Macro for use in components that are of type coll * Macro for use in components that are of type coll
@ -74,11 +74,11 @@ typedef int (*mca_fs_base_component_init_query_1_0_0_fn_t)
bool enable_mpi_threads); bool enable_mpi_threads);
typedef struct mca_fs_base_module_1_0_0_t * typedef struct mca_fs_base_module_1_0_0_t *
(*mca_fs_base_component_file_query_1_0_0_fn_t) (struct mca_io_ompio_file_t *file, (*mca_fs_base_component_file_query_1_0_0_fn_t) (struct ompio_file_t *file,
int *priority); int *priority);
typedef int (*mca_fs_base_component_file_unquery_1_0_0_fn_t) typedef int (*mca_fs_base_component_file_unquery_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
/* /*
* ****************** component struct ****************************** * ****************** component struct ******************************
@ -105,23 +105,23 @@ typedef struct mca_fs_base_component_2_0_0_t mca_fs_base_component_t;
*/ */
typedef int (*mca_fs_base_module_init_1_0_0_fn_t) typedef int (*mca_fs_base_module_init_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
typedef int (*mca_fs_base_module_finalize_1_0_0_fn_t) typedef int (*mca_fs_base_module_finalize_1_0_0_fn_t)
(struct mca_io_ompio_file_t *file); (struct ompio_file_t *file);
typedef int (*mca_fs_base_module_file_open_fn_t)( typedef int (*mca_fs_base_module_file_open_fn_t)(
struct ompi_communicator_t *comm, const char *filename, int amode, struct ompi_communicator_t *comm, const char *filename, int amode,
struct opal_info_t *info, struct mca_io_ompio_file_t *fh); struct opal_info_t *info, struct ompio_file_t *fh);
typedef int (*mca_fs_base_module_file_close_fn_t)(struct mca_io_ompio_file_t *fh); typedef int (*mca_fs_base_module_file_close_fn_t)(struct ompio_file_t *fh);
typedef int (*mca_fs_base_module_file_delete_fn_t)( typedef int (*mca_fs_base_module_file_delete_fn_t)(
char *filename, struct opal_info_t *info); char *filename, struct opal_info_t *info);
typedef int (*mca_fs_base_module_file_set_size_fn_t) typedef int (*mca_fs_base_module_file_set_size_fn_t)
(struct mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE size); (struct ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE size);
typedef int (*mca_fs_base_module_file_get_size_fn_t) typedef int (*mca_fs_base_module_file_get_size_fn_t)
(struct mca_io_ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE *size); (struct ompio_file_t *fh, OMPI_MPI_OFFSET_TYPE *size);
typedef int (*mca_fs_base_module_file_sync_fn_t) typedef int (*mca_fs_base_module_file_sync_fn_t)
(struct mca_io_ompio_file_t *fh); (struct ompio_file_t *fh);
/* /*
* *********************************************************************** * ***********************************************************************

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

@ -10,6 +10,8 @@
* 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-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -74,7 +76,7 @@ int mca_fs_lustre_component_init_query(bool enable_progress_threads,
} }
struct mca_fs_base_module_1_0_0_t * struct mca_fs_base_module_1_0_0_t *
mca_fs_lustre_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fs_lustre_component_file_query (ompio_file_t *fh, int *priority)
{ {
char *tmp; char *tmp;
@ -114,7 +116,7 @@ mca_fs_lustre_component_file_query (mca_io_ompio_file_t *fh, int *priority)
return NULL; return NULL;
} }
int mca_fs_lustre_component_file_unquery (mca_io_ompio_file_t *file) int mca_fs_lustre_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -123,7 +125,7 @@ int mca_fs_lustre_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fs_lustre_module_init (mca_io_ompio_file_t *file) int mca_fs_lustre_module_init (ompio_file_t *file)
{ {
/* Make sure the file type is not overwritten by the last queried /* Make sure the file type is not overwritten by the last queried
* component */ * component */
@ -132,7 +134,7 @@ int mca_fs_lustre_module_init (mca_io_ompio_file_t *file)
} }
int mca_fs_lustre_module_finalize (mca_io_ompio_file_t *file) int mca_fs_lustre_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,7 +10,7 @@
* 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-2017 University of Houston. All rights reserved. * Copyright (c) 2008-2017 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -45,11 +45,11 @@ BEGIN_C_DECLS
int mca_fs_lustre_component_init_query(bool enable_progress_threads, int mca_fs_lustre_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fs_base_module_1_0_0_t * struct mca_fs_base_module_1_0_0_t *
mca_fs_lustre_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fs_lustre_component_file_query (ompio_file_t *fh, int *priority);
int mca_fs_lustre_component_file_unquery (mca_io_ompio_file_t *file); int mca_fs_lustre_component_file_unquery (ompio_file_t *file);
int mca_fs_lustre_module_init (mca_io_ompio_file_t *file); int mca_fs_lustre_module_init (ompio_file_t *file);
int mca_fs_lustre_module_finalize (mca_io_ompio_file_t *file); int mca_fs_lustre_module_finalize (ompio_file_t *file);
OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_lustre_component; OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_lustre_component;
/* /*
@ -62,22 +62,22 @@ int mca_fs_lustre_file_open (struct ompi_communicator_t *comm,
const char *filename, const char *filename,
int amode, int amode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh); ompio_file_t *fh);
int mca_fs_lustre_file_close (mca_io_ompio_file_t *fh); int mca_fs_lustre_file_close (ompio_file_t *fh);
int mca_fs_lustre_file_delete (char *filename, int mca_fs_lustre_file_delete (char *filename,
struct opal_info_t *info); struct opal_info_t *info);
int mca_fs_lustre_file_set_size (mca_io_ompio_file_t *fh, int mca_fs_lustre_file_set_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE size); OMPI_MPI_OFFSET_TYPE size);
int mca_fs_lustre_file_get_size (mca_io_ompio_file_t *fh, int mca_fs_lustre_file_get_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *size); OMPI_MPI_OFFSET_TYPE *size);
int mca_fs_lustre_file_sync (mca_io_ompio_file_t *fh); int mca_fs_lustre_file_sync (ompio_file_t *fh);
int mca_fs_lustre_file_seek (mca_io_ompio_file_t *fh, int mca_fs_lustre_file_seek (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
int whence); int whence);
/* /*

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -35,7 +37,7 @@
* Returns: - Success if file closed * Returns: - Success if file closed
*/ */
int int
mca_fs_lustre_file_close (mca_io_ompio_file_t *fh) mca_fs_lustre_file_close (ompio_file_t *fh)
{ {
fh->f_comm->c_coll->coll_barrier (fh->f_comm, fh->f_comm->c_coll->coll_barrier (fh->f_comm,
fh->f_comm->c_coll->coll_barrier_module); fh->f_comm->c_coll->coll_barrier_module);

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,7 +35,7 @@
* Returns: - Success if size is get * Returns: - Success if size is get
*/ */
int int
mca_fs_lustre_file_get_size (mca_io_ompio_file_t *fh, mca_fs_lustre_file_get_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *size) OMPI_MPI_OFFSET_TYPE *size)
{ {
*size = lseek(fh->fd, 0, SEEK_END); *size = lseek(fh->fd, 0, SEEK_END);

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

@ -10,7 +10,7 @@
* 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-2018 University of Houston. All rights reserved. * Copyright (c) 2008-2018 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -61,7 +61,7 @@ mca_fs_lustre_file_open (struct ompi_communicator_t *comm,
const char* filename, const char* filename,
int access_mode, int access_mode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh) ompio_file_t *fh)
{ {
int amode, rank; int amode, rank;
int old_mask, perm; int old_mask, perm;

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -33,7 +35,7 @@
* Returns: - Success if size is set * Returns: - Success if size is set
*/ */
int int
mca_fs_lustre_file_set_size (mca_io_ompio_file_t *fh, mca_fs_lustre_file_set_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE size) OMPI_MPI_OFFSET_TYPE size)
{ {
int err = 0; int err = 0;

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

@ -10,6 +10,8 @@
* 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-2009 University of Houston. All rights reserved. * Copyright (c) 2008-2009 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -34,7 +36,7 @@
* Returns: - Success if file closed * Returns: - Success if file closed
*/ */
int int
mca_fs_lustre_file_sync (mca_io_ompio_file_t *fh) mca_fs_lustre_file_sync (ompio_file_t *fh)
{ {
int err; int err;

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

@ -10,6 +10,8 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -73,7 +75,7 @@ int mca_fs_pvfs2_component_init_query(bool enable_progress_threads,
} }
struct mca_fs_base_module_1_0_0_t * struct mca_fs_base_module_1_0_0_t *
mca_fs_pvfs2_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fs_pvfs2_component_file_query (ompio_file_t *fh, int *priority)
{ {
/* The code in this function is based on the ADIO FS selection in ROMIO /* The code in this function is based on the ADIO FS selection in ROMIO
@ -119,7 +121,7 @@ mca_fs_pvfs2_component_file_query (mca_io_ompio_file_t *fh, int *priority)
return NULL; return NULL;
} }
int mca_fs_pvfs2_component_file_unquery (mca_io_ompio_file_t *file) int mca_fs_pvfs2_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -128,7 +130,7 @@ int mca_fs_pvfs2_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fs_pvfs2_module_init (mca_io_ompio_file_t *file) int mca_fs_pvfs2_module_init (ompio_file_t *file)
{ {
/* Make sure the file type is not overwritten by the last queried /* Make sure the file type is not overwritten by the last queried
* component */ * component */
@ -137,7 +139,7 @@ int mca_fs_pvfs2_module_init (mca_io_ompio_file_t *file)
} }
int mca_fs_pvfs2_module_finalize (mca_io_ompio_file_t *file) int mca_fs_pvfs2_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,7 +10,7 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -55,11 +55,11 @@ typedef struct mca_fs_pvfs2_s mca_fs_pvfs2;
int mca_fs_pvfs2_component_init_query(bool enable_progress_threads, int mca_fs_pvfs2_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fs_base_module_1_0_0_t * struct mca_fs_base_module_1_0_0_t *
mca_fs_pvfs2_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fs_pvfs2_component_file_query (ompio_file_t *fh, int *priority);
int mca_fs_pvfs2_component_file_unquery (mca_io_ompio_file_t *file); int mca_fs_pvfs2_component_file_unquery (ompio_file_t *file);
int mca_fs_pvfs2_module_init (mca_io_ompio_file_t *file); int mca_fs_pvfs2_module_init (ompio_file_t *file);
int mca_fs_pvfs2_module_finalize (mca_io_ompio_file_t *file); int mca_fs_pvfs2_module_finalize (ompio_file_t *file);
OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_pvfs2_component; OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_pvfs2_component;
/* /*
@ -72,22 +72,22 @@ int mca_fs_pvfs2_file_open (struct ompi_communicator_t *comm,
const char *filename, const char *filename,
int amode, int amode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh); ompio_file_t *fh);
int mca_fs_pvfs2_file_close (mca_io_ompio_file_t *fh); int mca_fs_pvfs2_file_close (ompio_file_t *fh);
int mca_fs_pvfs2_file_delete (char *filename, int mca_fs_pvfs2_file_delete (char *filename,
struct opal_info_t *info); struct opal_info_t *info);
int mca_fs_pvfs2_file_set_size (mca_io_ompio_file_t *fh, int mca_fs_pvfs2_file_set_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE size); OMPI_MPI_OFFSET_TYPE size);
int mca_fs_pvfs2_file_get_size (mca_io_ompio_file_t *fh, int mca_fs_pvfs2_file_get_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *size); OMPI_MPI_OFFSET_TYPE *size);
int mca_fs_pvfs2_file_sync (mca_io_ompio_file_t *fh); int mca_fs_pvfs2_file_sync (ompio_file_t *fh);
int mca_fs_pvfs2_file_seek (mca_io_ompio_file_t *fh, int mca_fs_pvfs2_file_seek (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
int whence); int whence);
/* /*

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -39,7 +41,7 @@
* Returns: - Success if file closed * Returns: - Success if file closed
*/ */
int int
mca_fs_pvfs2_file_close (mca_io_ompio_file_t *fh) mca_fs_pvfs2_file_close (ompio_file_t *fh)
{ {
if (NULL != fh->f_fs_ptr) { if (NULL != fh->f_fs_ptr) {
free (fh->f_fs_ptr); free (fh->f_fs_ptr);

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -37,7 +39,7 @@
* Returns: - Success if size is get * Returns: - Success if size is get
*/ */
int int
mca_fs_pvfs2_file_get_size (mca_io_ompio_file_t *fh, mca_fs_pvfs2_file_get_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *size) OMPI_MPI_OFFSET_TYPE *size)
{ {
int ret; int ret;

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

@ -10,7 +10,7 @@
* 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-2014 University of Houston. All rights reserved. * Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -62,7 +62,7 @@ mca_fs_pvfs2_file_open (struct ompi_communicator_t *comm,
const char* filename, const char* filename,
int access_mode, int access_mode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh) ompio_file_t *fh)
{ {
int ret; int ret;
mca_fs_pvfs2 *pvfs2_fs; mca_fs_pvfs2 *pvfs2_fs;

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -37,7 +39,7 @@
* Returns: - Success if size is set * Returns: - Success if size is set
*/ */
int int
mca_fs_pvfs2_file_set_size (mca_io_ompio_file_t *fh, mca_fs_pvfs2_file_set_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE size) OMPI_MPI_OFFSET_TYPE size)
{ {
int ret; int ret;

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -37,7 +39,7 @@
* Returns: - Success if file closed * Returns: - Success if file closed
*/ */
int int
mca_fs_pvfs2_file_sync (mca_io_ompio_file_t *fh) mca_fs_pvfs2_file_sync (ompio_file_t *fh)
{ {
int ret; int ret;
mca_fs_pvfs2 *pvfs2_fs; mca_fs_pvfs2 *pvfs2_fs;

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

@ -10,6 +10,8 @@
* 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-2014 University of Houston. All rights reserved. * Copyright (c) 2008-2014 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -59,7 +61,7 @@ int mca_fs_ufs_component_init_query(bool enable_progress_threads,
} }
struct mca_fs_base_module_1_0_0_t * struct mca_fs_base_module_1_0_0_t *
mca_fs_ufs_component_file_query (mca_io_ompio_file_t *fh, int *priority) mca_fs_ufs_component_file_query (ompio_file_t *fh, int *priority)
{ {
/* UFS can always be used, will however have a low priority */ /* UFS can always be used, will however have a low priority */
@ -71,7 +73,7 @@ mca_fs_ufs_component_file_query (mca_io_ompio_file_t *fh, int *priority)
return &ufs; return &ufs;
} }
int mca_fs_ufs_component_file_unquery (mca_io_ompio_file_t *file) int mca_fs_ufs_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -80,7 +82,7 @@ int mca_fs_ufs_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_fs_ufs_module_init (mca_io_ompio_file_t *file) int mca_fs_ufs_module_init (ompio_file_t *file)
{ {
/* Make sure the file type is not overwritten by the last queried /* Make sure the file type is not overwritten by the last queried
* component */ * component */
@ -89,7 +91,7 @@ int mca_fs_ufs_module_init (mca_io_ompio_file_t *file)
} }
int mca_fs_ufs_module_finalize (mca_io_ompio_file_t *file) int mca_fs_ufs_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,7 +10,7 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -41,11 +41,11 @@ BEGIN_C_DECLS
int mca_fs_ufs_component_init_query(bool enable_progress_threads, int mca_fs_ufs_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_fs_base_module_1_0_0_t * struct mca_fs_base_module_1_0_0_t *
mca_fs_ufs_component_file_query (mca_io_ompio_file_t *fh, int *priority); mca_fs_ufs_component_file_query (ompio_file_t *fh, int *priority);
int mca_fs_ufs_component_file_unquery (mca_io_ompio_file_t *file); int mca_fs_ufs_component_file_unquery (ompio_file_t *file);
int mca_fs_ufs_module_init (mca_io_ompio_file_t *file); int mca_fs_ufs_module_init (ompio_file_t *file);
int mca_fs_ufs_module_finalize (mca_io_ompio_file_t *file); int mca_fs_ufs_module_finalize (ompio_file_t *file);
OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_ufs_component; OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_ufs_component;
/* /*
@ -58,22 +58,22 @@ int mca_fs_ufs_file_open (struct ompi_communicator_t *comm,
const char *filename, const char *filename,
int amode, int amode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh); ompio_file_t *fh);
int mca_fs_ufs_file_close (mca_io_ompio_file_t *fh); int mca_fs_ufs_file_close (ompio_file_t *fh);
int mca_fs_ufs_file_delete (char *filename, int mca_fs_ufs_file_delete (char *filename,
struct opal_info_t *info); struct opal_info_t *info);
int mca_fs_ufs_file_set_size (mca_io_ompio_file_t *fh, int mca_fs_ufs_file_set_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE size); OMPI_MPI_OFFSET_TYPE size);
int mca_fs_ufs_file_get_size (mca_io_ompio_file_t *fh, int mca_fs_ufs_file_get_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *size); OMPI_MPI_OFFSET_TYPE *size);
int mca_fs_ufs_file_sync (mca_io_ompio_file_t *fh); int mca_fs_ufs_file_sync (ompio_file_t *fh);
int mca_fs_ufs_file_seek (mca_io_ompio_file_t *fh, int mca_fs_ufs_file_seek (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
int whence); int whence);
/* /*

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -35,7 +37,7 @@
* Returns: - Success if file closed * Returns: - Success if file closed
*/ */
int int
mca_fs_ufs_file_close (mca_io_ompio_file_t *fh) mca_fs_ufs_file_close (ompio_file_t *fh)
{ {
fh->f_comm->c_coll->coll_barrier (fh->f_comm, fh->f_comm->c_coll->coll_barrier (fh->f_comm,
fh->f_comm->c_coll->coll_barrier_module); fh->f_comm->c_coll->coll_barrier_module);

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -35,7 +37,7 @@
* Returns: - Success if size is get * Returns: - Success if size is get
*/ */
int int
mca_fs_ufs_file_get_size (mca_io_ompio_file_t *fh, mca_fs_ufs_file_get_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE *size) OMPI_MPI_OFFSET_TYPE *size)
{ {
*size = lseek(fh->fd, 0, SEEK_END); *size = lseek(fh->fd, 0, SEEK_END);

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

@ -10,7 +10,7 @@
* 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-2018 University of Houston. All rights reserved. * Copyright (c) 2008-2018 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -46,7 +46,7 @@ mca_fs_ufs_file_open (struct ompi_communicator_t *comm,
const char* filename, const char* filename,
int access_mode, int access_mode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh) ompio_file_t *fh)
{ {
int amode; int amode;
int old_mask, perm; int old_mask, perm;

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -35,7 +37,7 @@
* Returns: - Success if size is set * Returns: - Success if size is set
*/ */
int int
mca_fs_ufs_file_set_size (mca_io_ompio_file_t *fh, mca_fs_ufs_file_set_size (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE size) OMPI_MPI_OFFSET_TYPE size)
{ {
int err = 0; int err = 0;

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

@ -10,6 +10,8 @@
* 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -27,7 +29,7 @@
#include "ompi/mca/fs/fs.h" #include "ompi/mca/fs/fs.h"
int int
mca_fs_ufs_file_sync (mca_io_ompio_file_t *fh) mca_fs_ufs_file_sync (ompio_file_t *fh)
{ {
int err; int err;

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

@ -41,7 +41,7 @@
#include "io_ompio.h" #include "io_ompio.h"
int ompi_io_ompio_generate_current_file_view (struct mca_io_ompio_file_t *fh, int ompi_io_ompio_generate_current_file_view (struct ompio_file_t *fh,
size_t max_data, size_t max_data,
struct iovec **f_iov, struct iovec **f_iov,
int *iov_count) int *iov_count)

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

@ -116,12 +116,12 @@ OMPI_DECLSPEC int ompi_io_ompio_sort_offlen (mca_io_ompio_offlen_array_t *io_arr
int *sorted); int *sorted);
OMPI_DECLSPEC int ompi_io_ompio_generate_current_file_view (struct mca_io_ompio_file_t *fh, OMPI_DECLSPEC int ompi_io_ompio_generate_current_file_view (struct ompio_file_t *fh,
size_t max_data, size_t max_data,
struct iovec **f_iov, struct iovec **f_iov,
int *iov_count); int *iov_count);
OMPI_DECLSPEC int ompi_io_ompio_generate_groups (mca_io_ompio_file_t *fh, OMPI_DECLSPEC int ompi_io_ompio_generate_groups (ompio_file_t *fh,
int num_aggregators, int num_aggregators,
int *root, int *root,
int *procs_per_group, int *procs_per_group,

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

@ -287,7 +287,7 @@ file_query(struct ompi_file_t *file,
struct mca_io_base_file_t **private_data, struct mca_io_base_file_t **private_data,
int *priority) int *priority)
{ {
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
char *tmp; char *tmp;
int rank; int rank;
int is_lustre=0; //false int is_lustre=0; //false
@ -324,7 +324,7 @@ file_query(struct ompi_file_t *file,
/* Allocate a space for this module to hang private data (e.g., /* Allocate a space for this module to hang private data (e.g.,
the OMPIO file handle) */ the OMPIO file handle) */
data = calloc(1, sizeof(mca_io_ompio_data_t)); data = calloc(1, sizeof(mca_common_ompio_data_t));
if (NULL == data) { if (NULL == data) {
return NULL; return NULL;
} }

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

@ -49,7 +49,7 @@ int mca_io_ompio_file_open (ompi_communicator_t *comm,
ompi_file_t *fh) ompi_file_t *fh)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data=NULL; mca_common_ompio_data_t *data=NULL;
bool use_sharedfp = true; bool use_sharedfp = true;
@ -57,7 +57,7 @@ int mca_io_ompio_file_open (ompi_communicator_t *comm,
There is virtually no way on how to reach this point from multiple There is virtually no way on how to reach this point from multiple
threads simultaniously threads simultaniously
*/ */
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
if ( NULL == data ) { if ( NULL == data ) {
return OMPI_ERR_OUT_OF_RESOURCE; return OMPI_ERR_OUT_OF_RESOURCE;
} }
@ -83,9 +83,9 @@ int mca_io_ompio_file_open (ompi_communicator_t *comm,
int mca_io_ompio_file_close (ompi_file_t *fh) int mca_io_ompio_file_close (ompi_file_t *fh)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
if ( NULL == data ) { if ( NULL == data ) {
/* structure has already been freed, this is an erroneous call to file_close */ /* structure has already been freed, this is an erroneous call to file_close */
return ret; return ret;
@ -108,11 +108,11 @@ int mca_io_ompio_file_preallocate (ompi_file_t *fh,
{ {
int ret = OMPI_SUCCESS, cycles, i; int ret = OMPI_SUCCESS, cycles, i;
OMPI_MPI_OFFSET_TYPE tmp, current_size, size, written, len; OMPI_MPI_OFFSET_TYPE tmp, current_size, size, written, len;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
char *buf = NULL; char *buf = NULL;
ompi_status_public_t *status = NULL; ompi_status_public_t *status = NULL;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
tmp = diskspace; tmp = diskspace;
@ -227,9 +227,9 @@ int mca_io_ompio_file_set_size (ompi_file_t *fh,
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
OMPI_MPI_OFFSET_TYPE tmp; OMPI_MPI_OFFSET_TYPE tmp;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
tmp = size; tmp = size;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
@ -274,9 +274,9 @@ int mca_io_ompio_file_get_size (ompi_file_t *fh,
OMPI_MPI_OFFSET_TYPE *size) OMPI_MPI_OFFSET_TYPE *size)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_get_size(&data->ompio_fh,size); ret = mca_common_ompio_file_get_size(&data->ompio_fh,size);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -288,9 +288,9 @@ int mca_io_ompio_file_get_size (ompi_file_t *fh,
int mca_io_ompio_file_get_amode (ompi_file_t *fh, int mca_io_ompio_file_get_amode (ompi_file_t *fh,
int *amode) int *amode)
{ {
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
/* No lock necessary in this case, amode is set in file_open, and /* No lock necessary in this case, amode is set in file_open, and
not modified later on*/ not modified later on*/
*amode = data->ompio_fh.f_amode; *amode = data->ompio_fh.f_amode;
@ -312,9 +312,9 @@ int mca_io_ompio_file_set_atomicity (ompi_file_t *fh,
int flag) int flag)
{ {
int tmp; int tmp;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
if (flag) { if (flag) {
@ -344,9 +344,9 @@ int mca_io_ompio_file_set_atomicity (ompi_file_t *fh,
int mca_io_ompio_file_get_atomicity (ompi_file_t *fh, int mca_io_ompio_file_get_atomicity (ompi_file_t *fh,
int *flag) int *flag)
{ {
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
*flag = data->ompio_fh.f_atomicity; *flag = data->ompio_fh.f_atomicity;
@ -358,9 +358,9 @@ int mca_io_ompio_file_get_atomicity (ompi_file_t *fh,
int mca_io_ompio_file_sync (ompi_file_t *fh) int mca_io_ompio_file_sync (ompi_file_t *fh)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
if ( !opal_list_is_empty (&mca_common_ompio_pending_requests) ) { if ( !opal_list_is_empty (&mca_common_ompio_pending_requests) ) {
@ -384,10 +384,10 @@ int mca_io_ompio_file_seek (ompi_file_t *fh,
int whence) int whence)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
OMPI_MPI_OFFSET_TYPE offset, temp_offset; OMPI_MPI_OFFSET_TYPE offset, temp_offset;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
offset = off * data->ompio_fh.f_etype_size; offset = off * data->ompio_fh.f_etype_size;
@ -432,10 +432,10 @@ int mca_io_ompio_file_get_position (ompi_file_t *fd,
OMPI_MPI_OFFSET_TYPE *offset) OMPI_MPI_OFFSET_TYPE *offset)
{ {
int ret=OMPI_SUCCESS; int ret=OMPI_SUCCESS;
mca_io_ompio_data_t *data=NULL; mca_common_ompio_data_t *data=NULL;
mca_io_ompio_file_t *fh=NULL; ompio_file_t *fh=NULL;
data = (mca_io_ompio_data_t *) fd->f_io_selected_data; data = (mca_common_ompio_data_t *) fd->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
OPAL_THREAD_LOCK(&fd->f_lock); OPAL_THREAD_LOCK(&fd->f_lock);
@ -450,11 +450,11 @@ int mca_io_ompio_file_get_byte_offset (ompi_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, OMPI_MPI_OFFSET_TYPE offset,
OMPI_MPI_OFFSET_TYPE *disp) OMPI_MPI_OFFSET_TYPE *disp)
{ {
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
int i, k, index; int i, k, index;
long temp_offset; long temp_offset;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
temp_offset = (long) data->ompio_fh.f_view_extent * temp_offset = (long) data->ompio_fh.f_view_extent *
@ -496,11 +496,11 @@ int mca_io_ompio_file_seek_shared (ompi_file_t *fp,
int whence) int whence)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -522,11 +522,11 @@ int mca_io_ompio_file_get_position_shared (ompi_file_t *fp,
OMPI_MPI_OFFSET_TYPE * offset) OMPI_MPI_OFFSET_TYPE * offset)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/

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

@ -10,7 +10,7 @@
* 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-2018 University of Houston. All rights reserved. * Copyright (c) 2008-2018 University of Houston. All rights reserved.
* Copyright (c) 2017 Research Organization for Information Science * Copyright (c) 2017-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -48,7 +48,7 @@
** routesin are used e.g. from the shared file pointer modules. ** routesin are used e.g. from the shared file pointer modules.
** The main difference is, that the first one takes an ompi_file_t ** The main difference is, that the first one takes an ompi_file_t
** as a file pointer argument, while the second uses the ompio internal ** as a file pointer argument, while the second uses the ompio internal
** mca_io_ompio_file_t structure. ** ompio_file_t structure.
*/ */
int mca_io_ompio_file_read (ompi_file_t *fp, int mca_io_ompio_file_read (ompi_file_t *fp,
@ -58,9 +58,9 @@ int mca_io_ompio_file_read (ompi_file_t *fp,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
OPAL_THREAD_LOCK(&fp->f_lock); OPAL_THREAD_LOCK(&fp->f_lock);
ret = mca_common_ompio_file_read(&data->ompio_fh,buf,count,datatype,status); ret = mca_common_ompio_file_read(&data->ompio_fh,buf,count,datatype,status);
OPAL_THREAD_UNLOCK(&fp->f_lock); OPAL_THREAD_UNLOCK(&fp->f_lock);
@ -76,9 +76,9 @@ int mca_io_ompio_file_read_at (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_read_at(&data->ompio_fh, offset,buf,count,datatype,status); ret = mca_common_ompio_file_read_at(&data->ompio_fh, offset,buf,count,datatype,status);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -93,9 +93,9 @@ int mca_io_ompio_file_iread (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_iread(&data->ompio_fh,buf,count,datatype,request); ret = mca_common_ompio_file_iread(&data->ompio_fh,buf,count,datatype,request);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -112,9 +112,9 @@ int mca_io_ompio_file_iread_at (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_iread_at(&data->ompio_fh,offset,buf,count,datatype,request); ret = mca_common_ompio_file_iread_at(&data->ompio_fh,offset,buf,count,datatype,request);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -132,9 +132,9 @@ int mca_io_ompio_file_read_all (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = data->ompio_fh. ret = data->ompio_fh.
@ -161,10 +161,10 @@ int mca_io_ompio_file_iread_all (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data=NULL; mca_common_ompio_data_t *data=NULL;
mca_io_ompio_file_t *fp=NULL; ompio_file_t *fp=NULL;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
@ -195,9 +195,9 @@ int mca_io_ompio_file_read_at_all (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_read_at_all(&data->ompio_fh,offset,buf,count,datatype,status); ret = mca_common_ompio_file_read_at_all(&data->ompio_fh,offset,buf,count,datatype,status);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -213,8 +213,8 @@ int mca_io_ompio_file_iread_at_all (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_iread_at_all ( &data->ompio_fh, offset, buf, count, datatype, request ); ret = mca_common_ompio_file_iread_at_all ( &data->ompio_fh, offset, buf, count, datatype, request );
@ -233,11 +233,11 @@ int mca_io_ompio_file_read_shared (ompi_file_t *fp,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -260,11 +260,11 @@ int mca_io_ompio_file_iread_shared (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *ompio_fh; ompio_file_t *ompio_fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
ompio_fh = &data->ompio_fh; ompio_fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -287,11 +287,11 @@ int mca_io_ompio_file_read_ordered (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *ompio_fh; ompio_file_t *ompio_fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
ompio_fh = &data->ompio_fh; ompio_fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -312,11 +312,11 @@ int mca_io_ompio_file_read_ordered_begin (ompi_file_t *fh,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *ompio_fh; ompio_file_t *ompio_fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
ompio_fh = &data->ompio_fh; ompio_fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -337,11 +337,11 @@ int mca_io_ompio_file_read_ordered_end (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *ompio_fh; ompio_file_t *ompio_fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
ompio_fh = &data->ompio_fh; ompio_fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -366,10 +366,10 @@ int mca_io_ompio_file_read_all_begin (ompi_file_t *fh,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_file_t *fp; ompio_file_t *fp;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
if ( true == fp->f_split_coll_in_use ) { if ( true == fp->f_split_coll_in_use ) {
printf("Only one split collective I/O operation allowed per file handle at any given point in time!\n"); printf("Only one split collective I/O operation allowed per file handle at any given point in time!\n");
@ -387,10 +387,10 @@ int mca_io_ompio_file_read_all_end (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_file_t *fp; ompio_file_t *fp;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
ret = ompi_request_wait ( &fp->f_split_coll_req, status ); ret = ompi_request_wait ( &fp->f_split_coll_req, status );
@ -406,9 +406,9 @@ int mca_io_ompio_file_read_at_all_begin (ompi_file_t *fh,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fp=NULL; ompio_file_t *fp=NULL;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
if ( true == fp->f_split_coll_in_use ) { if ( true == fp->f_split_coll_in_use ) {
@ -427,10 +427,10 @@ int mca_io_ompio_file_read_at_all_end (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fp=NULL; ompio_file_t *fp=NULL;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
ret = ompi_request_wait ( &fp->f_split_coll_req, status ); ret = ompi_request_wait ( &fp->f_split_coll_req, status );

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

@ -10,9 +10,9 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -63,11 +63,11 @@ int mca_io_ompio_file_set_view (ompi_file_t *fp,
opal_info_t *info) opal_info_t *info)
{ {
int ret=OMPI_SUCCESS; int ret=OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_io_ompio_file_t *sh; ompio_file_t *sh;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
/* we need to call the internal file set view twice: once for the individual /* we need to call the internal file set view twice: once for the individual
file pointer, once for the shared file pointer (if it is existent) file pointer, once for the shared file pointer (if it is existent)
@ -92,10 +92,10 @@ int mca_io_ompio_file_get_view (struct ompi_file_t *fp,
struct ompi_datatype_t **filetype, struct ompi_datatype_t **filetype,
char *datarep) char *datarep)
{ {
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
OPAL_THREAD_LOCK(&fp->f_lock); OPAL_THREAD_LOCK(&fp->f_lock);

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

@ -10,7 +10,7 @@
* 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-2018 University of Houston. All rights reserved. * Copyright (c) 2008-2018 University of Houston. All rights reserved.
* Copyright (c) 2015-2017 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -50,7 +50,7 @@
** routesin are used e.g. from the shared file pointer modules. ** routesin are used e.g. from the shared file pointer modules.
** The main difference is, that the first one takes an ompi_file_t ** The main difference is, that the first one takes an ompi_file_t
** as a file pointer argument, while the second uses the ompio internal ** as a file pointer argument, while the second uses the ompio internal
** mca_io_ompio_file_t structure. ** ompio_file_t structure.
*/ */
@ -61,10 +61,10 @@ int mca_io_ompio_file_write (ompi_file_t *fp,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
OPAL_THREAD_LOCK(&fp->f_lock); OPAL_THREAD_LOCK(&fp->f_lock);
ret = mca_common_ompio_file_write(fh,buf,count,datatype,status); ret = mca_common_ompio_file_write(fh,buf,count,datatype,status);
@ -81,9 +81,9 @@ int mca_io_ompio_file_write_at (ompi_file_t *fh,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_write_at (&data->ompio_fh, offset,buf,count,datatype,status); ret = mca_common_ompio_file_write_at (&data->ompio_fh, offset,buf,count,datatype,status);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -98,9 +98,9 @@ int mca_io_ompio_file_iwrite (ompi_file_t *fp,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
OPAL_THREAD_LOCK(&fp->f_lock); OPAL_THREAD_LOCK(&fp->f_lock);
ret = mca_common_ompio_file_iwrite(&data->ompio_fh,buf,count,datatype,request); ret = mca_common_ompio_file_iwrite(&data->ompio_fh,buf,count,datatype,request);
OPAL_THREAD_UNLOCK(&fp->f_lock); OPAL_THREAD_UNLOCK(&fp->f_lock);
@ -117,9 +117,9 @@ int mca_io_ompio_file_iwrite_at (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_iwrite_at(&data->ompio_fh,offset,buf,count,datatype,request); ret = mca_common_ompio_file_iwrite_at(&data->ompio_fh,offset,buf,count,datatype,request);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -138,9 +138,9 @@ int mca_io_ompio_file_write_all (ompi_file_t *fh,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = data->ompio_fh. ret = data->ompio_fh.
@ -168,9 +168,9 @@ int mca_io_ompio_file_write_at_all (ompi_file_t *fh,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_write_at_all(&data->ompio_fh,offset,buf,count,datatype,status); ret = mca_common_ompio_file_write_at_all(&data->ompio_fh,offset,buf,count,datatype,status);
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -185,10 +185,10 @@ int mca_io_ompio_file_iwrite_all (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data=NULL; mca_common_ompio_data_t *data=NULL;
mca_io_ompio_file_t *fp=NULL; ompio_file_t *fp=NULL;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
@ -219,9 +219,9 @@ int mca_io_ompio_file_iwrite_at_all (ompi_file_t *fh,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
OPAL_THREAD_LOCK(&fh->f_lock); OPAL_THREAD_LOCK(&fh->f_lock);
ret = mca_common_ompio_file_iwrite_at_all ( &data->ompio_fh, offset, buf, count, datatype, request ); ret = mca_common_ompio_file_iwrite_at_all ( &data->ompio_fh, offset, buf, count, datatype, request );
OPAL_THREAD_UNLOCK(&fh->f_lock); OPAL_THREAD_UNLOCK(&fh->f_lock);
@ -240,11 +240,11 @@ int mca_io_ompio_file_write_shared (ompi_file_t *fp,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -267,11 +267,11 @@ int mca_io_ompio_file_iwrite_shared (ompi_file_t *fp,
ompi_request_t **request) ompi_request_t **request)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -294,11 +294,11 @@ int mca_io_ompio_file_write_ordered (ompi_file_t *fp,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -320,11 +320,11 @@ int mca_io_ompio_file_write_ordered_begin (ompi_file_t *fp,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -345,11 +345,11 @@ int mca_io_ompio_file_write_ordered_end (ompi_file_t *fp,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fh; ompio_file_t *fh;
mca_sharedfp_base_module_t * shared_fp_base_module; mca_sharedfp_base_module_t * shared_fp_base_module;
data = (mca_io_ompio_data_t *) fp->f_io_selected_data; data = (mca_common_ompio_data_t *) fp->f_io_selected_data;
fh = &data->ompio_fh; fh = &data->ompio_fh;
/*get the shared fp module associated with this file*/ /*get the shared fp module associated with this file*/
@ -374,10 +374,10 @@ int mca_io_ompio_file_write_all_begin (ompi_file_t *fh,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_file_t *fp; ompio_file_t *fp;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
if ( true == fp->f_split_coll_in_use ) { if ( true == fp->f_split_coll_in_use ) {
printf("Only one split collective I/O operation allowed per file handle at any given point in time!\n"); printf("Only one split collective I/O operation allowed per file handle at any given point in time!\n");
@ -395,10 +395,10 @@ int mca_io_ompio_file_write_all_end (ompi_file_t *fh,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_file_t *fp; ompio_file_t *fp;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
ret = ompi_request_wait ( &fp->f_split_coll_req, status ); ret = ompi_request_wait ( &fp->f_split_coll_req, status );
@ -415,10 +415,10 @@ int mca_io_ompio_file_write_at_all_begin (ompi_file_t *fh,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data=NULL; mca_common_ompio_data_t *data=NULL;
mca_io_ompio_file_t *fp=NULL; ompio_file_t *fp=NULL;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
if ( true == fp->f_split_coll_in_use ) { if ( true == fp->f_split_coll_in_use ) {
@ -439,10 +439,10 @@ int mca_io_ompio_file_write_at_all_end (ompi_file_t *fh,
ompi_status_public_t * status) ompi_status_public_t * status)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
mca_io_ompio_file_t *fp=NULL; ompio_file_t *fp=NULL;
data = (mca_io_ompio_data_t *) fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_io_selected_data;
fp = &data->ompio_fh; fp = &data->ompio_fh;
ret = ompi_request_wait ( &fp->f_split_coll_req, status ); ret = ompi_request_wait ( &fp->f_split_coll_req, status );

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

@ -12,6 +12,8 @@
* Copyright (c) 2008 Cisco Systems, Inc. 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-2011 University of Houston. All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved. * Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,8 +34,9 @@
#include "mpi.h" #include "mpi.h"
#include "opal/class/opal_list.h" #include "opal/class/opal_list.h"
#include "ompi/mca/sharedfp/sharedfp.h"
#include "ompi/mca/mca.h" #include "ompi/mca/mca.h"
#include "ompi/mca/common/ompio/common_ompio.h"
#include "ompi/mca/sharedfp/sharedfp.h"
BEGIN_C_DECLS BEGIN_C_DECLS
@ -43,17 +46,17 @@ BEGIN_C_DECLS
*/ */
OMPI_DECLSPEC extern mca_base_framework_t ompi_sharedfp_base_framework; OMPI_DECLSPEC extern mca_base_framework_t ompi_sharedfp_base_framework;
/* select a component */ /* select a component */
OMPI_DECLSPEC int mca_sharedfp_base_file_select(struct mca_io_ompio_file_t *file, OMPI_DECLSPEC int mca_sharedfp_base_file_select(struct ompio_file_t *file,
mca_base_component_t *preferred); mca_base_component_t *preferred);
OMPI_DECLSPEC int mca_sharedfp_base_file_unselect(struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_sharedfp_base_file_unselect(struct ompio_file_t *file);
OMPI_DECLSPEC int mca_sharedfp_base_find_available(bool enable_progress_threads, OMPI_DECLSPEC int mca_sharedfp_base_find_available(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
OMPI_DECLSPEC int mca_sharedfp_base_init_file (struct mca_io_ompio_file_t *file); OMPI_DECLSPEC int mca_sharedfp_base_init_file (struct ompio_file_t *file);
OMPI_DECLSPEC int mca_sharedfp_base_get_param (struct mca_io_ompio_file_t *file, int keyval); OMPI_DECLSPEC int mca_sharedfp_base_get_param (struct ompio_file_t *file, int keyval);
/* /*
* Globals * Globals
*/ */

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

@ -11,6 +11,8 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2008-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved. * Copyright (c) 2012-2013 Los Alamos National Security, Inc. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -63,7 +65,7 @@ static OBJ_CLASS_INSTANCE(queried_module_t, opal_list_item_t, NULL, NULL);
* their module but were unfortunate to not get selected * their module but were unfortunate to not get selected
*/ */
int mca_sharedfp_base_file_select (struct mca_io_ompio_file_t *file, int mca_sharedfp_base_file_select (struct ompio_file_t *file,
mca_base_component_t *preferred) mca_base_component_t *preferred)
{ {
int priority; int priority;

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

@ -10,6 +10,8 @@
* 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-2016 University of Houston. All rights reserved. * Copyright (c) 2008-2016 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -32,7 +34,7 @@
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int mca_sharedfp_base_file_unselect(mca_io_ompio_file_t *file) int mca_sharedfp_base_file_unselect(ompio_file_t *file)
{ {
if (NULL != file->f_sharedfp && NULL != file->f_sharedfp->sharedfp_module_finalize) { if (NULL != file->f_sharedfp && NULL != file->f_sharedfp->sharedfp_module_finalize) {
return file->f_sharedfp->sharedfp_module_finalize(file); return file->f_sharedfp->sharedfp_module_finalize(file);

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

@ -11,6 +11,8 @@
* All rights reserved. * All rights reserved.
* Copyright (c) 2013-2015 University of Houston. All rights reserved. * Copyright (c) 2013-2015 University of Houston. All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -68,7 +70,7 @@ int mca_sharedfp_individual_component_init_query(bool enable_progress_threads,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
struct mca_sharedfp_base_module_1_0_0_t * mca_sharedfp_individual_component_file_query (mca_io_ompio_file_t *fh, int *priority) { struct mca_sharedfp_base_module_1_0_0_t * mca_sharedfp_individual_component_file_query (ompio_file_t *fh, int *priority) {
int amode; int amode;
bool wronly_flag=false; bool wronly_flag=false;
@ -152,7 +154,7 @@ struct mca_sharedfp_base_module_1_0_0_t * mca_sharedfp_individual_component_file
return NULL; return NULL;
} }
int mca_sharedfp_individual_component_file_unquery (mca_io_ompio_file_t *file) int mca_sharedfp_individual_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -161,13 +163,13 @@ int mca_sharedfp_individual_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_sharedfp_individual_module_init (mca_io_ompio_file_t *file) int mca_sharedfp_individual_module_init (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_sharedfp_individual_module_finalize (mca_io_ompio_file_t *file) int mca_sharedfp_individual_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,7 +10,7 @@
* 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) 2013-2016 University of Houston. All rights reserved. * Copyright (c) 2013-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -34,11 +34,11 @@ BEGIN_C_DECLS
int mca_sharedfp_individual_component_init_query(bool enable_progress_threads, int mca_sharedfp_individual_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_sharedfp_base_module_1_0_0_t * struct mca_sharedfp_base_module_1_0_0_t *
mca_sharedfp_individual_component_file_query (mca_io_ompio_file_t *file, int *priority); mca_sharedfp_individual_component_file_query (ompio_file_t *file, int *priority);
int mca_sharedfp_individual_component_file_unquery (mca_io_ompio_file_t *file); int mca_sharedfp_individual_component_file_unquery (ompio_file_t *file);
int mca_sharedfp_individual_module_init (mca_io_ompio_file_t *file); int mca_sharedfp_individual_module_init (ompio_file_t *file);
int mca_sharedfp_individual_module_finalize (mca_io_ompio_file_t *file); int mca_sharedfp_individual_module_finalize (ompio_file_t *file);
extern int mca_sharedfp_individual_priority; extern int mca_sharedfp_individual_priority;
extern int mca_sharedfp_individual_verbose; extern int mca_sharedfp_individual_verbose;
@ -51,51 +51,51 @@ OMPI_MODULE_DECLSPEC extern mca_sharedfp_base_component_2_0_0_t mca_sharedfp_ind
*/ */
/*IMPORANT: Update here when implementing functions from sharedfp API*/ /*IMPORANT: Update here when implementing functions from sharedfp API*/
int mca_sharedfp_individual_get_position(mca_io_ompio_file_t *fh, int mca_sharedfp_individual_get_position(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE * offset); OMPI_MPI_OFFSET_TYPE * offset);
int mca_sharedfp_individual_seek (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_seek (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, int whence); OMPI_MPI_OFFSET_TYPE offset, int whence);
int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm, int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
const char* filename, const char* filename,
int amode, int amode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh); ompio_file_t *fh);
int mca_sharedfp_individual_file_close (mca_io_ompio_file_t *fh); int mca_sharedfp_individual_file_close (ompio_file_t *fh);
int mca_sharedfp_individual_read (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read (ompio_file_t *fh,
void *buf, int count, MPI_Datatype datatype, MPI_Status *status); void *buf, int count, MPI_Datatype datatype, MPI_Status *status);
int mca_sharedfp_individual_read_ordered (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read_ordered (ompio_file_t *fh,
void *buf, int count, struct ompi_datatype_t *datatype, void *buf, int count, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_individual_read_ordered_begin (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read_ordered_begin (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype); struct ompi_datatype_t *datatype);
int mca_sharedfp_individual_read_ordered_end (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read_ordered_end (ompio_file_t *fh,
void *buf, void *buf,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_individual_iread (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_iread (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_request_t **request); ompi_request_t **request);
int mca_sharedfp_individual_write (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_individual_write_ordered (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write_ordered (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_individual_write_ordered_begin (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write_ordered_begin (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype); struct ompi_datatype_t *datatype);
int mca_sharedfp_individual_write_ordered_end (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write_ordered_end (ompio_file_t *fh,
const void *buf, const void *buf,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_individual_iwrite (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_iwrite (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -127,8 +127,8 @@ typedef struct mca_sharedfp_individual_header_record_s{
int numofrecordsonfile; /* Number of records in the metadatafile*/ int numofrecordsonfile; /* Number of records in the metadatafile*/
MPI_Offset datafile_offset; MPI_Offset datafile_offset;
MPI_Offset metadatafile_offset; MPI_Offset metadatafile_offset;
mca_io_ompio_file_t * datafilehandle; ompio_file_t * datafilehandle;
mca_io_ompio_file_t * metadatafilehandle; ompio_file_t * metadatafilehandle;
char * datafilename; /*for now need to delete this on file close*/ char * datafilename; /*for now need to delete this on file close*/
char * metadatafilename; /*for now need to delete this on file close*/ char * metadatafilename; /*for now need to delete this on file close*/
MPI_Offset metafile_start_offset; MPI_Offset metafile_start_offset;

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

@ -10,7 +10,7 @@
* 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) 2013-2016 University of Houston. All rights reserved. * Copyright (c) 2013-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -35,23 +35,23 @@ int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
const char* filename, const char* filename,
int amode, int amode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh) ompio_file_t *fh)
{ {
int err = 0; int err = 0;
int rank; int rank;
char * datafilename; /*The array size would change as it is based on the current path*/ char * datafilename; /*The array size would change as it is based on the current path*/
char * metadatafilename; /*The array size would change as it is based on the current path*/ char * metadatafilename; /*The array size would change as it is based on the current path*/
mca_io_ompio_file_t * datafilehandle; ompio_file_t * datafilehandle;
mca_io_ompio_file_t * metadatafilehandle; ompio_file_t * metadatafilehandle;
mca_sharedfp_individual_header_record* headnode = NULL; mca_sharedfp_individual_header_record* headnode = NULL;
struct mca_sharedfp_base_data_t* sh; struct mca_sharedfp_base_data_t* sh;
mca_io_ompio_file_t * shfileHandle; ompio_file_t * shfileHandle;
size_t len=0; size_t len=0;
/*-------------------------------------------------*/ /*-------------------------------------------------*/
/*Open the same file again without shared file pointer*/ /*Open the same file again without shared file pointer*/
/*-------------------------------------------------*/ /*-------------------------------------------------*/
shfileHandle = (mca_io_ompio_file_t *) malloc ( sizeof(mca_io_ompio_file_t)); shfileHandle = (ompio_file_t *) malloc ( sizeof(ompio_file_t));
if ( NULL == shfileHandle ) { if ( NULL == shfileHandle ) {
opal_output(0, "mca_sharedfp_individual_file_open: unable to allocate memory\n"); opal_output(0, "mca_sharedfp_individual_file_open: unable to allocate memory\n");
return OMPI_ERR_OUT_OF_RESOURCE; return OMPI_ERR_OUT_OF_RESOURCE;
@ -104,7 +104,7 @@ int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
snprintf(datafilename, len, "%s%s%d",filename,".data.",rank); snprintf(datafilename, len, "%s%s%d",filename,".data.",rank);
datafilehandle = (mca_io_ompio_file_t *)malloc(sizeof(mca_io_ompio_file_t)); datafilehandle = (ompio_file_t *)malloc(sizeof(ompio_file_t));
if ( NULL == datafilehandle ) { if ( NULL == datafilehandle ) {
opal_output(0, "mca_sharedfp_individual_file_open: unable to allocate memory\n"); opal_output(0, "mca_sharedfp_individual_file_open: unable to allocate memory\n");
free ( shfileHandle ); free ( shfileHandle );
@ -145,7 +145,7 @@ int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
} }
snprintf ( metadatafilename, len, "%s%s%d", filename, ".metadata.",rank); snprintf ( metadatafilename, len, "%s%s%d", filename, ".metadata.",rank);
metadatafilehandle = (mca_io_ompio_file_t *)malloc(sizeof(mca_io_ompio_file_t)); metadatafilehandle = (ompio_file_t *)malloc(sizeof(ompio_file_t));
if ( NULL == metadatafilehandle ) { if ( NULL == metadatafilehandle ) {
free (shfileHandle ); free (shfileHandle );
free (sh); free (sh);
@ -184,7 +184,7 @@ int mca_sharedfp_individual_file_open (struct ompi_communicator_t *comm,
return err; return err;
} }
int mca_sharedfp_individual_file_close (mca_io_ompio_file_t *fh) int mca_sharedfp_individual_file_close (ompio_file_t *fh)
{ {
mca_sharedfp_individual_header_record* headnode = NULL; mca_sharedfp_individual_header_record* headnode = NULL;
struct mca_sharedfp_base_data_t *sh; struct mca_sharedfp_base_data_t *sh;

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

@ -10,6 +10,8 @@
* 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) 2013 University of Houston. All rights reserved. * Copyright (c) 2013 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -26,7 +28,7 @@
#include "ompi/mca/sharedfp/sharedfp.h" #include "ompi/mca/sharedfp/sharedfp.h"
int int
mca_sharedfp_individual_get_position(mca_io_ompio_file_t *fh, mca_sharedfp_individual_get_position(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE * offset) OMPI_MPI_OFFSET_TYPE * offset)
{ {
opal_output(0,"mca_sharedfp_individual_get_position: NOT IMPLEMENTED\n"); opal_output(0,"mca_sharedfp_individual_get_position: NOT IMPLEMENTED\n");

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

@ -10,7 +10,7 @@
* 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) 2013-2016 University of Houston. All rights reserved. * Copyright (c) 2013-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -28,7 +28,7 @@
#include "ompi/mca/sharedfp/sharedfp.h" #include "ompi/mca/sharedfp/sharedfp.h"
#include "ompi/mca/sharedfp/base/base.h" #include "ompi/mca/sharedfp/base/base.h"
int mca_sharedfp_individual_iwrite(mca_io_ompio_file_t *fh, int mca_sharedfp_individual_iwrite(ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -89,7 +89,7 @@ int mca_sharedfp_individual_iwrite(mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_sharedfp_individual_write_ordered_begin(mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write_ordered_begin(ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
@ -213,7 +213,7 @@ exit:
return ret; return ret;
} }
int mca_sharedfp_individual_write_ordered_end(mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write_ordered_end(ompio_file_t *fh,
const void *buf, const void *buf,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {

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

@ -10,6 +10,8 @@
* 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 University of Houston. All rights reserved. * Copyright (c) 2008 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -26,21 +28,21 @@
#include "ompi/mca/sharedfp/sharedfp.h" #include "ompi/mca/sharedfp/sharedfp.h"
#include "ompi/mca/sharedfp/base/base.h" #include "ompi/mca/sharedfp/base/base.h"
int mca_sharedfp_individual_read ( mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read ( ompio_file_t *fh,
void *buf, int count, MPI_Datatype datatype, MPI_Status *status) void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
{ {
opal_output(0,"mca_sharedfp_individual_read: NOT SUPPORTED by this component\n"); opal_output(0,"mca_sharedfp_individual_read: NOT SUPPORTED by this component\n");
return OMPI_ERROR; return OMPI_ERROR;
} }
int mca_sharedfp_individual_read_ordered ( mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read_ordered ( ompio_file_t *fh,
void *buf, int count, MPI_Datatype datatype, MPI_Status *status) void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
{ {
opal_output(0,"mca_sharedfp_individual_read_ordered: NOT SUPPORTED by this component\n"); opal_output(0,"mca_sharedfp_individual_read_ordered: NOT SUPPORTED by this component\n");
return OMPI_ERROR; return OMPI_ERROR;
} }
int mca_sharedfp_individual_iread(mca_io_ompio_file_t *fh, int mca_sharedfp_individual_iread(ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -50,7 +52,7 @@ int mca_sharedfp_individual_iread(mca_io_ompio_file_t *fh,
return OMPI_ERROR; return OMPI_ERROR;
} }
int mca_sharedfp_individual_read_ordered_begin(mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read_ordered_begin(ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
@ -59,7 +61,7 @@ int mca_sharedfp_individual_read_ordered_begin(mca_io_ompio_file_t *fh,
return OMPI_ERROR; return OMPI_ERROR;
} }
int mca_sharedfp_individual_read_ordered_end(mca_io_ompio_file_t *fh, int mca_sharedfp_individual_read_ordered_end(ompio_file_t *fh,
void *buf, void *buf,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {

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

@ -10,6 +10,8 @@
* 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) 2013 University of Houston. All rights reserved. * Copyright (c) 2013 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -25,7 +27,7 @@
#include "ompi/constants.h" #include "ompi/constants.h"
#include "ompi/mca/sharedfp/sharedfp.h" #include "ompi/mca/sharedfp/sharedfp.h"
int mca_sharedfp_individual_seek (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_seek (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, int whence) OMPI_MPI_OFFSET_TYPE offset, int whence)
{ {
opal_output(0,"mca_sharedfp_individual_seek: NOT IMPLEMENTED\n"); opal_output(0,"mca_sharedfp_individual_seek: NOT IMPLEMENTED\n");

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

@ -10,7 +10,7 @@
* 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) 2013-2016 University of Houston. All rights reserved. * Copyright (c) 2013-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
@ -28,7 +28,7 @@
#include "ompi/mca/sharedfp/sharedfp.h" #include "ompi/mca/sharedfp/sharedfp.h"
#include "ompi/mca/sharedfp/base/base.h" #include "ompi/mca/sharedfp/base/base.h"
int mca_sharedfp_individual_write (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
@ -86,7 +86,7 @@ int mca_sharedfp_individual_write (mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_sharedfp_individual_write_ordered (mca_io_ompio_file_t *fh, int mca_sharedfp_individual_write_ordered (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -10,6 +10,8 @@
* 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) 2013 University of Houston. All rights reserved. * Copyright (c) 2013 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -72,7 +74,7 @@ int mca_sharedfp_lockedfile_component_init_query(bool enable_progress_threads,
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
struct mca_sharedfp_base_module_1_0_0_t * mca_sharedfp_lockedfile_component_file_query(mca_io_ompio_file_t *fh, int *priority) { struct mca_sharedfp_base_module_1_0_0_t * mca_sharedfp_lockedfile_component_file_query(ompio_file_t *fh, int *priority) {
struct flock lock; struct flock lock;
int fd, err; int fd, err;
/*char *filename;*/ /*char *filename;*/
@ -169,7 +171,7 @@ struct mca_sharedfp_base_module_1_0_0_t * mca_sharedfp_lockedfile_component_file
return NULL; return NULL;
} }
int mca_sharedfp_lockedfile_component_file_unquery (mca_io_ompio_file_t *file) int mca_sharedfp_lockedfile_component_file_unquery (ompio_file_t *file)
{ {
/* This function might be needed for some purposes later. for now it /* This function might be needed for some purposes later. for now it
* does not have anything to do since there are no steps which need * does not have anything to do since there are no steps which need
@ -178,13 +180,13 @@ int mca_sharedfp_lockedfile_component_file_unquery (mca_io_ompio_file_t *file)
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_sharedfp_lockedfile_module_init (mca_io_ompio_file_t *file) int mca_sharedfp_lockedfile_module_init (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }
int mca_sharedfp_lockedfile_module_finalize (mca_io_ompio_file_t *file) int mca_sharedfp_lockedfile_module_finalize (ompio_file_t *file)
{ {
return OMPI_SUCCESS; return OMPI_SUCCESS;
} }

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

@ -10,7 +10,7 @@
* 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) 2013-2016 University of Houston. All rights reserved. * Copyright (c) 2013-2016 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -34,11 +34,11 @@ BEGIN_C_DECLS
int mca_sharedfp_lockedfile_component_init_query(bool enable_progress_threads, int mca_sharedfp_lockedfile_component_init_query(bool enable_progress_threads,
bool enable_mpi_threads); bool enable_mpi_threads);
struct mca_sharedfp_base_module_1_0_0_t * struct mca_sharedfp_base_module_1_0_0_t *
mca_sharedfp_lockedfile_component_file_query (mca_io_ompio_file_t *file, int *priority); mca_sharedfp_lockedfile_component_file_query (ompio_file_t *file, int *priority);
int mca_sharedfp_lockedfile_component_file_unquery (mca_io_ompio_file_t *file); int mca_sharedfp_lockedfile_component_file_unquery (ompio_file_t *file);
int mca_sharedfp_lockedfile_module_init (mca_io_ompio_file_t *file); int mca_sharedfp_lockedfile_module_init (ompio_file_t *file);
int mca_sharedfp_lockedfile_module_finalize (mca_io_ompio_file_t *file); int mca_sharedfp_lockedfile_module_finalize (ompio_file_t *file);
extern int mca_sharedfp_lockedfile_priority; extern int mca_sharedfp_lockedfile_priority;
extern int mca_sharedfp_lockedfile_verbose; extern int mca_sharedfp_lockedfile_verbose;
@ -51,52 +51,52 @@ OMPI_MODULE_DECLSPEC extern mca_sharedfp_base_component_2_0_0_t mca_sharedfp_loc
*/ */
/*IMPORANT: Update here when implementing functions from sharedfp API*/ /*IMPORANT: Update here when implementing functions from sharedfp API*/
int mca_sharedfp_lockedfile_seek (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_seek (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE offset, int whence); OMPI_MPI_OFFSET_TYPE offset, int whence);
int mca_sharedfp_lockedfile_get_position (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_get_position (ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE * offset); OMPI_MPI_OFFSET_TYPE * offset);
int mca_sharedfp_lockedfile_file_open (struct ompi_communicator_t *comm, int mca_sharedfp_lockedfile_file_open (struct ompi_communicator_t *comm,
const char* filename, const char* filename,
int amode, int amode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh); ompio_file_t *fh);
int mca_sharedfp_lockedfile_file_close (mca_io_ompio_file_t *fh); int mca_sharedfp_lockedfile_file_close (ompio_file_t *fh);
int mca_sharedfp_lockedfile_read (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_read (ompio_file_t *fh,
void *buf, int count, MPI_Datatype datatype, MPI_Status *status); void *buf, int count, MPI_Datatype datatype, MPI_Status *status);
int mca_sharedfp_lockedfile_read_ordered (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_read_ordered (ompio_file_t *fh,
void *buf, int count, struct ompi_datatype_t *datatype, void *buf, int count, struct ompi_datatype_t *datatype,
ompi_status_public_t *status ompi_status_public_t *status
); );
int mca_sharedfp_lockedfile_read_ordered_begin (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_read_ordered_begin (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype); struct ompi_datatype_t *datatype);
int mca_sharedfp_lockedfile_read_ordered_end (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_read_ordered_end (ompio_file_t *fh,
void *buf, void *buf,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_lockedfile_iread (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_iread (ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_request_t **request); ompi_request_t **request);
int mca_sharedfp_lockedfile_write (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_write (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_lockedfile_write_ordered (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_write_ordered (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_lockedfile_write_ordered_begin (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_write_ordered_begin (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype); struct ompi_datatype_t *datatype);
int mca_sharedfp_lockedfile_write_ordered_end (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_write_ordered_end (ompio_file_t *fh,
const void *buf, const void *buf,
ompi_status_public_t *status); ompi_status_public_t *status);
int mca_sharedfp_lockedfile_iwrite (mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_iwrite (ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype, struct ompi_datatype_t *datatype,

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

@ -10,7 +10,7 @@
* 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) 2013-2017 University of Houston. All rights reserved. * Copyright (c) 2013-2017 University of Houston. All rights reserved.
* Copyright (c) 2015 Research Organization for Information Science * Copyright (c) 2015-2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved. * and Technology (RIST). All rights reserved.
* Copyright (c) 2016-2017 IBM Corporation. All rights reserved. * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
@ -40,27 +40,27 @@ int mca_sharedfp_lockedfile_file_open (struct ompi_communicator_t *comm,
const char* filename, const char* filename,
int amode, int amode,
struct opal_info_t *info, struct opal_info_t *info,
mca_io_ompio_file_t *fh) ompio_file_t *fh)
{ {
int err = MPI_SUCCESS; int err = MPI_SUCCESS;
char * lockedfilename; char * lockedfilename;
int handle, rank; int handle, rank;
struct mca_sharedfp_lockedfile_data * module_data = NULL; struct mca_sharedfp_lockedfile_data * module_data = NULL;
struct mca_sharedfp_base_data_t* sh; struct mca_sharedfp_base_data_t* sh;
mca_io_ompio_file_t * shfileHandle, *ompio_fh; ompio_file_t * shfileHandle, *ompio_fh;
mca_io_ompio_data_t *data; mca_common_ompio_data_t *data;
/*------------------------------------------------------------*/ /*------------------------------------------------------------*/
/*Open the same file again without shared file pointer support*/ /*Open the same file again without shared file pointer support*/
/*------------------------------------------------------------*/ /*------------------------------------------------------------*/
shfileHandle = (mca_io_ompio_file_t *)malloc(sizeof(mca_io_ompio_file_t)); shfileHandle = (ompio_file_t *)malloc(sizeof(ompio_file_t));
err = mca_common_ompio_file_open(comm,filename,amode,info,shfileHandle,false); err = mca_common_ompio_file_open(comm,filename,amode,info,shfileHandle,false);
if ( OMPI_SUCCESS != err) { if ( OMPI_SUCCESS != err) {
opal_output(0, "mca_sharedfp_lockedfile_file_open: Error during file open\n"); opal_output(0, "mca_sharedfp_lockedfile_file_open: Error during file open\n");
return err; return err;
} }
shfileHandle->f_fh = fh->f_fh; shfileHandle->f_fh = fh->f_fh;
data = (mca_io_ompio_data_t *) fh->f_fh->f_io_selected_data; data = (mca_common_ompio_data_t *) fh->f_fh->f_io_selected_data;
ompio_fh = &data->ompio_fh; ompio_fh = &data->ompio_fh;
err = mca_common_ompio_set_view (shfileHandle, err = mca_common_ompio_set_view (shfileHandle,
@ -156,7 +156,7 @@ int mca_sharedfp_lockedfile_file_open (struct ompi_communicator_t *comm,
return err; return err;
} }
int mca_sharedfp_lockedfile_file_close (mca_io_ompio_file_t *fh) int mca_sharedfp_lockedfile_file_close (ompio_file_t *fh)
{ {
int err = OMPI_SUCCESS; int err = OMPI_SUCCESS;
struct mca_sharedfp_lockedfile_data * module_data = NULL; struct mca_sharedfp_lockedfile_data * module_data = NULL;

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

@ -10,6 +10,8 @@
* 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-2013 University of Houston. All rights reserved. * Copyright (c) 2008-2013 University of Houston. All rights reserved.
* Copyright (c) 2018 Research Organization for Information Science
* and Technology (RIST). All rights reserved.
* $COPYRIGHT$ * $COPYRIGHT$
* *
* Additional copyrights may follow * Additional copyrights may follow
@ -27,7 +29,7 @@
#include "ompi/mca/sharedfp/base/base.h" #include "ompi/mca/sharedfp/base/base.h"
int int
mca_sharedfp_lockedfile_get_position(mca_io_ompio_file_t *fh, mca_sharedfp_lockedfile_get_position(ompio_file_t *fh,
OMPI_MPI_OFFSET_TYPE * offset) OMPI_MPI_OFFSET_TYPE * offset)
{ {
int ret = OMPI_SUCCESS; int ret = OMPI_SUCCESS;

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

@ -29,7 +29,7 @@
#include "ompi/mca/sharedfp/base/base.h" #include "ompi/mca/sharedfp/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int mca_sharedfp_lockedfile_iread(mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_iread(ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -90,7 +90,7 @@ int mca_sharedfp_lockedfile_iread(mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_sharedfp_lockedfile_read_ordered_begin(mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_read_ordered_begin(ompio_file_t *fh,
void *buf, void *buf,
int count, int count,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
@ -219,7 +219,7 @@ exit:
} }
int mca_sharedfp_lockedfile_read_ordered_end(mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_read_ordered_end(ompio_file_t *fh,
void *buf, void *buf,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {

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

@ -29,7 +29,7 @@
#include "ompi/mca/sharedfp/base/base.h" #include "ompi/mca/sharedfp/base/base.h"
#include "ompi/mca/common/ompio/common_ompio.h" #include "ompi/mca/common/ompio/common_ompio.h"
int mca_sharedfp_lockedfile_iwrite(mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_iwrite(ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
ompi_datatype_t *datatype, ompi_datatype_t *datatype,
@ -88,7 +88,7 @@ int mca_sharedfp_lockedfile_iwrite(mca_io_ompio_file_t *fh,
return ret; return ret;
} }
int mca_sharedfp_lockedfile_write_ordered_begin(mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_write_ordered_begin(ompio_file_t *fh,
const void *buf, const void *buf,
int count, int count,
struct ompi_datatype_t *datatype) struct ompi_datatype_t *datatype)
@ -217,7 +217,7 @@ exit:
int mca_sharedfp_lockedfile_write_ordered_end(mca_io_ompio_file_t *fh, int mca_sharedfp_lockedfile_write_ordered_end(ompio_file_t *fh,
const void *buf, const void *buf,
ompi_status_public_t *status) ompi_status_public_t *status)
{ {

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше