2012-07-31 08:39:13 +04:00
|
|
|
#ifndef MCA_IO_OMPIO_NBC_H
|
|
|
|
#define MCA_IO_OMPIO_NBC_H
|
|
|
|
|
|
|
|
#include "io_ompio.h"
|
|
|
|
|
2015-06-24 06:59:57 +03:00
|
|
|
/* Function declaration for get and utility method to use with libNBC
|
2012-07-31 08:39:13 +04:00
|
|
|
implementation in io_ompio_nbc.c */
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_fcoll_dynamic_num_io_procs (int *num_procs);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_fcoll_dynamic_cycle_buffer_size (int *cycle_buffer_size);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_fcoll_dynamic_constant_cbs (int *constant_cbs);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_f_aggregator_index (ompi_file_t *fh);
|
2015-06-24 06:59:57 +03:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_f_procs_in_group (ompi_file_t *fh,
|
2012-07-31 08:39:13 +04:00
|
|
|
int **value);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_f_procs_per_group (ompi_file_t *fh);
|
2015-06-24 06:59:57 +03:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_f_comm (ompi_file_t *fh,
|
2012-07-31 08:39:13 +04:00
|
|
|
ompi_communicator_t **value);
|
2015-06-24 06:59:57 +03:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_iov_type (ompi_file_t *fh,
|
2012-07-31 08:39:13 +04:00
|
|
|
ompi_datatype_t **value);
|
|
|
|
OMPI_DECLSPEC signed int mca_io_ompio_get_f_flags (ompi_file_t *fh);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_fd (ompi_file_t *fh);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_f_num_of_io_entries (ompi_file_t *fh);
|
2015-06-24 06:59:57 +03:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_f_io_array (ompi_file_t *fh,
|
2012-07-31 08:39:13 +04:00
|
|
|
mca_io_ompio_io_array_t **f_io_array);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_free_f_io_array (ompi_file_t *fh);
|
|
|
|
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_get_datatype_size (ompi_datatype_t *datatype);
|
2015-06-24 06:59:57 +03:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_decode_datatype_external(ompi_file_t *fh,
|
2012-07-31 08:39:13 +04:00
|
|
|
struct ompi_datatype_t *datatype,
|
|
|
|
int count,
|
|
|
|
void *buf,
|
|
|
|
size_t *max_data,
|
|
|
|
struct iovec **iov,
|
|
|
|
uint32_t *iov_count);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_generate_current_file_view (ompi_file_t *fp,
|
|
|
|
size_t max_data,
|
|
|
|
struct iovec **f_iov,
|
2015-06-24 06:59:57 +03:00
|
|
|
int *iov_count);
|
2012-07-31 08:39:13 +04:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_set_aggregator_props (ompi_file_t *fh,
|
|
|
|
int num_aggregators,
|
|
|
|
size_t bytes_per_proc);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_generate_io_array (ompi_file_t *file,
|
|
|
|
struct iovec *global_view,
|
2015-06-24 06:59:57 +03:00
|
|
|
int *tglobal_count,
|
2012-07-31 08:39:13 +04:00
|
|
|
int *fview_count,
|
2015-06-24 06:59:57 +03:00
|
|
|
int *bytes_per_process,
|
2012-07-31 08:39:13 +04:00
|
|
|
char *global_buf,
|
|
|
|
int *tblocks,
|
2015-06-24 06:59:57 +03:00
|
|
|
int *sorted,
|
2012-07-31 08:39:13 +04:00
|
|
|
int *nvalue,
|
|
|
|
int *bytes_left,
|
|
|
|
int *sorted_index);
|
2015-06-24 06:59:57 +03:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_datatype_is_contiguous (ompi_datatype_t *datatype,
|
2012-07-31 08:39:13 +04:00
|
|
|
ompi_file_t *fp);
|
2015-06-24 06:59:57 +03:00
|
|
|
OMPI_DECLSPEC int mca_io_ompio_non_contiguous_create_send_buf (int *bytes_sent,
|
|
|
|
struct iovec *decoded_iov,
|
2012-07-31 08:39:13 +04:00
|
|
|
char *send_buf);
|
|
|
|
OMPI_DECLSPEC int mca_io_ompio_non_contiguous_create_receive_buf(int *bytes_received,
|
|
|
|
struct iovec *decoded_iov,
|
|
|
|
char *receive_buf);
|
|
|
|
|
|
|
|
/* libNBC utility methods declarations ends here */
|
|
|
|
|
|
|
|
#endif /*MCA_IO_OMPIO_NBC_H*/
|