ROMIO MCA component:
completed all MPI-IO MCA v1 prototypes completed all MPI-IO MCA v1 typedefs add all functions to MCA v1 action struct completed about 50% of the wrapper functions. This commit was SVN r621.
Этот коммит содержится в:
родитель
cfff4bb79a
Коммит
161e021562
@ -39,12 +39,13 @@ struct mca_io_base_module_1_0_0_t {
|
||||
typedef struct mca_io_base_module_1_0_0_t mca_io_base_module_1_0_0_t;
|
||||
|
||||
|
||||
//
|
||||
// add typedefs for all MPI-IO functions to io.h
|
||||
// add prototypes for all MPI-IO functions to io_romio.h
|
||||
// add all functions to struct mca_io_1_0_0_t
|
||||
// set all functions in struct in io_romio_module.c
|
||||
//
|
||||
/*
|
||||
* to add functions:
|
||||
* add prototypes for all MPI-IO functions to io_romio.h
|
||||
* add typedefs for all MPI-IO functions to io.h
|
||||
* add all functions to struct mca_io_1_0_0_t in io.h
|
||||
* set all functions in struct in io_romio_module.c
|
||||
*/
|
||||
|
||||
|
||||
typedef int (*mca_io_base_File_open_t)(MPI_Comm comm, char *filename, int amode,
|
||||
@ -59,18 +60,168 @@ typedef int (*mca_io_base_File_get_amode_t)(MPI_File fh, int *amode);
|
||||
typedef int (*mca_io_base_File_set_info_t)(MPI_File fh, MPI_Info info);
|
||||
typedef int (*mca_io_base_File_get_info_t)(MPI_File fh, MPI_Info *info_used);
|
||||
|
||||
typedef int (*mca_io_base_File_set_view_t)(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
|
||||
MPI_Datatype filetype, char *datarep, MPI_Info info);
|
||||
typedef int (*mca_io_base_File_get_view_t)(MPI_File fh, MPI_Offset *disp,
|
||||
MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep);
|
||||
|
||||
typedef int (*mca_io_base_File_read_at_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_read_at_all_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_at_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_at_all_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
|
||||
|
||||
typedef int (*mca_io_base_File_iread_at_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Request *request);
|
||||
typedef int (*mca_io_base_File_iwrite_at_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Request *request);
|
||||
|
||||
|
||||
typedef int (*mca_io_base_File_read_t)(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_read_all_t)(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_t)(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_all_t)(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
|
||||
|
||||
typedef int (*mca_io_base_File_iread_t)(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Request *request);
|
||||
typedef int (*mca_io_base_File_iwrite_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Request *request);
|
||||
|
||||
|
||||
typedef int (*mca_io_base_File_seek_t)(MPI_File fh, MPI_Offset offset, int whence);
|
||||
typedef int (*mca_io_base_File_get_position_t)(MPI_File fh, MPI_Offset *offset);
|
||||
typedef int (*mca_io_base_File_get_byte_offset_t)(MPI_File fh, MPI_Offset offset,
|
||||
MPI_Offset *disp);
|
||||
|
||||
typedef int (*mca_io_base_File_read_shared_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_shared_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_iread_shared_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Request *request);
|
||||
typedef int (*mca_io_base_File_iwrite_shared_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Request *request);
|
||||
typedef int (*mca_io_base_File_read_ordered_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_ordered_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_seek_shared_t)(MPI_File fh, MPI_Offset offset, int whence);
|
||||
typedef int (*mca_io_base_File_get_position_shared_t)(MPI_File fh, MPI_Offset *offset);
|
||||
|
||||
typedef int (*mca_io_base_File_read_at_all_begin_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype);
|
||||
typedef int (*mca_io_base_File_read_at_all_end_t)(MPI_File fh, void *buf, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_at_all_begin_t)(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype);
|
||||
typedef int (*mca_io_base_File_write_at_all_end_t)(MPI_File fh, void *buf, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_read_all_begin_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
typedef int (*mca_io_base_File_read_all_end_t)(MPI_File fh, void *buf, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_all_begin_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
typedef int (*mca_io_base_File_write_all_end_t)(MPI_File fh, void *buf, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_read_ordered_begin_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
typedef int (*mca_io_base_File_read_ordered_end_t)(MPI_File fh, void *buf, MPI_Status *status);
|
||||
typedef int (*mca_io_base_File_write_ordered_begin_t)(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
typedef int (*mca_io_base_File_write_ordered_end_t)(MPI_File fh, void *buf, MPI_Status *status);
|
||||
|
||||
typedef int (*mca_io_base_File_get_type_extent_t)(MPI_File fh, MPI_Datatype datatype,
|
||||
MPI_Aint *extent);
|
||||
|
||||
typedef int (*mca_io_base_File_set_atomicity_t)(MPI_File fh, int flag);
|
||||
typedef int (*mca_io_base_File_get_atomicity_t)(MPI_File fh, int *flag);
|
||||
typedef int (*mca_io_base_File_sync_t)(MPI_File fh);
|
||||
|
||||
typedef int (*mca_io_base_File_set_errhandler_t)(MPI_File fh, MPI_Errhandler e);
|
||||
typedef int (*mca_io_base_File_get_errhandler_t)(MPI_File fh, MPI_Errhandler *e );
|
||||
|
||||
typedef int (*mca_io_base_Test_t)(MPI_Request *request, int *flag, MPI_Status *status);
|
||||
typedef int (*mca_io_base_Wait_t)(MPI_Request *request, MPI_Status *status);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
struct mca_io_1_0_0_t {
|
||||
mca_io_base_File_open_t io_File_open;
|
||||
mca_io_base_File_close_t io_File_close;
|
||||
mca_io_base_File_delete_t io_File_delete;
|
||||
mca_io_base_File_set_size_t io_File_set_size;
|
||||
mca_io_base_File_preallocate_t io_File_preallocate;
|
||||
mca_io_base_File_get_size_t io_File_get_size;
|
||||
mca_io_base_File_get_group_t io_File_get_group;
|
||||
mca_io_base_File_get_amode_t io_File_get_amode;
|
||||
mca_io_base_File_set_info_t io_File_set_info;
|
||||
mca_io_base_File_get_info_t io_File_get_info;
|
||||
mca_io_base_File_open_t mca_io_File_open;
|
||||
mca_io_base_File_close_t mca_io_File_close;
|
||||
mca_io_base_File_delete_t mca_io_File_delete;
|
||||
mca_io_base_File_set_size_t mca_io_File_set_size;
|
||||
mca_io_base_File_preallocate_t mca_io_File_preallocate;
|
||||
mca_io_base_File_get_size_t mca_io_File_get_size;
|
||||
mca_io_base_File_get_group_t mca_io_File_get_group;
|
||||
mca_io_base_File_get_amode_t mca_io_File_get_amode;
|
||||
mca_io_base_File_set_info_t mca_io_File_set_info;
|
||||
mca_io_base_File_get_info_t mca_io_File_get_info;
|
||||
|
||||
mca_io_base_File_set_view_t mca_io_File_set_view;
|
||||
mca_io_base_File_get_view_t mca_io_File_get_view;
|
||||
|
||||
mca_io_base_File_read_at_t mca_io_File_read_at;
|
||||
mca_io_base_File_read_at_all_t mca_io_File_read_at_all;
|
||||
mca_io_base_File_write_at_t mca_io_File_write_at;
|
||||
mca_io_base_File_write_at_all_t mca_io_File_write_at_all;
|
||||
|
||||
mca_io_base_File_iread_at_t mca_io_File_iread_at;
|
||||
mca_io_base_File_iwrite_at_t mca_io_File_iwrite_at;
|
||||
|
||||
mca_io_base_File_read_t mca_io_File_read;
|
||||
mca_io_base_File_read_all_t mca_io_File_read_all;
|
||||
mca_io_base_File_write_t mca_io_File_write;
|
||||
mca_io_base_File_write_all_t mca_io_File_write_all;
|
||||
|
||||
mca_io_base_File_iread_t mca_io_File_iread;
|
||||
mca_io_base_File_iwrite_t mca_io_File_iwrite;
|
||||
|
||||
mca_io_base_File_seek_t mca_io_File_seek;
|
||||
mca_io_base_File_get_position_t mca_io_File_get_position;
|
||||
mca_io_base_File_get_byte_offset_t mca_io_File_get_byte_offset;
|
||||
|
||||
mca_io_base_File_read_shared_t mca_io_File_read_shared;
|
||||
mca_io_base_File_write_shared_t mca_io_File_write_shared;
|
||||
mca_io_base_File_iread_shared_t mca_io_File_iread_shared;
|
||||
mca_io_base_File_iwrite_shared_t mca_io_File_iwrite_shared;
|
||||
mca_io_base_File_read_ordered_t mca_io_File_read_ordered;
|
||||
mca_io_base_File_write_ordered_t mca_io_File_write_ordered;
|
||||
mca_io_base_File_seek_shared_t mca_io_File_seek_shared;
|
||||
mca_io_base_File_get_position_shared_t mca_io_File_get_position_shared;
|
||||
|
||||
mca_io_base_File_read_at_all_begin_t mca_io_File_read_at_all_begin;
|
||||
mca_io_base_File_read_at_all_end_t mca_io_File_read_at_all_end;
|
||||
mca_io_base_File_write_at_all_begin_t mca_io_File_write_at_all_begin;
|
||||
mca_io_base_File_write_at_all_end_t mca_io_File_write_at_all_end;
|
||||
mca_io_base_File_read_all_begin_t mca_io_File_read_all_begin;
|
||||
mca_io_base_File_read_all_end_t mca_io_File_read_all_end;
|
||||
mca_io_base_File_write_all_begin_t mca_io_File_write_all_begin;
|
||||
mca_io_base_File_write_all_end_t mca_io_File_write_all_end;
|
||||
mca_io_base_File_read_ordered_begin_t mca_io_File_read_ordered_begin;
|
||||
mca_io_base_File_read_ordered_end_t mca_io_File_read_ordered_end;
|
||||
mca_io_base_File_write_ordered_begin_t mca_io_File_write_ordered_begin;
|
||||
mca_io_base_File_write_ordered_end_t mca_io_File_write_ordered_end;
|
||||
|
||||
mca_io_base_File_get_type_extent_t mca_io_File_get_type_extent;
|
||||
|
||||
mca_io_base_File_set_atomicity_t mca_io_File_set_atomicity;
|
||||
mca_io_base_File_get_atomicity_t mca_io_File_get_atomicity;
|
||||
mca_io_base_File_sync_t mca_io_File_sync;
|
||||
|
||||
mca_io_base_File_set_errhandler_t mca_io_File_set_errhandler;
|
||||
mca_io_base_File_get_errhandler_t mca_io_File_get_errhandler;
|
||||
|
||||
mca_io_base_Test_t mca_io_Test;
|
||||
mca_io_base_Wait_t mca_io_Wait;
|
||||
|
||||
};
|
||||
typedef struct mca_io_1_0_0_t mca_io_1_0_0_t;
|
||||
|
||||
@ -84,4 +235,3 @@ typedef struct mca_io_1_0_0_t mca_io_1_0_0_t;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -15,7 +15,9 @@ libmca_io_romio_la_SOURCES = \
|
||||
io_romio_module.c \
|
||||
io_romio.h \
|
||||
romio_config.h \
|
||||
file_write.c \
|
||||
file_status.c \
|
||||
file_open.c \
|
||||
file_read.c \
|
||||
file_write.c \
|
||||
global.c
|
||||
|
||||
|
@ -32,5 +32,218 @@ int mca_io_romio_File_open(MPI_Comm comm, char *filename, int amode,
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_close(MPI_File *fh) {
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *)(*fh);
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_close(&romio_fh);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
LAM_FREE(*fh);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int mca_io_romio_File_delete(char *filename, MPI_Info info) {
|
||||
int ret;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_delete(filename, info);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_set_size(MPI_File fh, MPI_Offset size){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_set_size(romio_fh, size);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
|
||||
|
||||
}
|
||||
|
||||
int mca_io_romio_File_preallocate(MPI_File fh, MPI_Offset size){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_preallocate(romio_fh,size);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_get_size(MPI_File fh, MPI_Offset *size){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_get_size(romio_fh,size);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_get_group(MPI_File fh, MPI_Group *group){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_get_group(romio_fh,group);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_get_amode(MPI_File fh, int *amode){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_get_amode(romio_fh, amode);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_set_info(MPI_File fh, MPI_Info info){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_set_info(romio_fh,info);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_get_info(MPI_File fh, MPI_Info *info_used){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_get_info(romio_fh,info_used);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
|
||||
MPI_Datatype filetype, char *datarep, MPI_Info info){
|
||||
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_set_view(romio_fh,disp,etype,filetype,datarep,info);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
|
||||
|
||||
}
|
||||
int mca_io_romio_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_get_view(romio_fh,disp,etype,filetype,datarep);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
int mca_io_romio_File_get_type_extent(MPI_File fh, MPI_Datatype datatype,
|
||||
MPI_Aint *extent){ }
|
||||
|
||||
|
||||
int mca_io_romio_File_set_atomicity(MPI_File fh, int flag){ }
|
||||
int mca_io_romio_File_get_atomicity(MPI_File fh, int *flag){ }
|
||||
int mca_io_romio_File_sync(MPI_File fh){ }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int mca_io_romio_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence){ }
|
||||
int mca_io_romio_File_get_position_shared(MPI_File fh, MPI_Offset *offset){ }
|
||||
|
||||
int mca_io_romio_File_seek(MPI_File fh, MPI_Offset offset, int whence){ }
|
||||
int mca_io_romio_File_get_position(MPI_File fh, MPI_Offset *offset){ }
|
||||
int mca_io_romio_File_get_byte_offset(MPI_File fh, MPI_Offset offset,
|
||||
MPI_Offset *disp){ }
|
||||
|
||||
|
||||
int mca_io_romio_File_set_errhandler(MPI_File fh, MPI_Errhandler eh){ }
|
||||
int mca_io_romio_File_get_errhandler(MPI_File fh, MPI_Errhandler *eh ){ }
|
||||
|
||||
|
||||
|
@ -8,22 +8,128 @@
|
||||
#include "mpi/request/request.h"
|
||||
#include "lam/mem/malloc.h"
|
||||
|
||||
|
||||
int mca_io_romio_File_write_at(MPI_File fh, MPI_Offset offset, void *buf,int count, MPI_Datatype datatype, MPI_Status *status){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_write_at(romio_fh,offset,buf,count,datatype,status);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int mca_io_romio_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_write_at_all(romio_fh,offset,buf,count,datatype,status);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int mca_io_romio_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf,int count, MPI_Datatype datatype, MPI_Request *request){
|
||||
int ret;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
mca_io_romio_file_t *mca_romio_fh;
|
||||
|
||||
mca_io_romio_request_t *rq;
|
||||
mca_io_romio_MPIO_Request romio_rq;
|
||||
|
||||
/* extract the ROMIO request */
|
||||
rq=(mca_io_romio_request_t *)(*request);
|
||||
romio_rq = rq->romio_rq;
|
||||
|
||||
/* extract the ROMIO file handle: */
|
||||
mca_romio_fh = (mca_io_romio_file_t *) fh;
|
||||
romio_fh = mca_romio_fh->romio_fh;
|
||||
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_iwrite_at(romio_fh,offset,buf,count,datatype,
|
||||
&romio_rq);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int mca_io_romio_File_write(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status){
|
||||
}
|
||||
int mca_io_romio_File_write_all(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status){
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_iwrite(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, lam_request_t **request)
|
||||
{
|
||||
mca_io_romio_request_t *rq;
|
||||
mca_io_romio_MPIO_Request romio_rq;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
int ret;
|
||||
|
||||
rq = LAM_MALLOC(sizeof(mca_io_romio_request_t));
|
||||
*request = (lam_request_t*) rq;
|
||||
(*request)->req_type = LAM_REQUEST_IO;
|
||||
romio_rq = rq->romio_rq;
|
||||
|
||||
romio_fh = ((mca_io_romio_file_t *) fh)->romio_fh;
|
||||
|
||||
THREAD_LOCK(&mca_io_romio_mutex);
|
||||
ret=mca_io_romio_MPI_File_iwrite(romio_fh, buf, count, datatype,
|
||||
&rq->romio_rq);
|
||||
&romio_rq);
|
||||
THREAD_UNLOCK(&mca_io_romio_mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int mca_io_romio_File_write_shared(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status){
|
||||
}
|
||||
int mca_io_romio_File_iwrite_shared(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Request *request){
|
||||
}
|
||||
int mca_io_romio_File_write_ordered(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status){
|
||||
}
|
||||
int mca_io_romio_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype){
|
||||
}
|
||||
int mca_io_romio_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status){
|
||||
}
|
||||
int mca_io_romio_File_write_all_begin(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype){
|
||||
}
|
||||
int mca_io_romio_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status){
|
||||
}
|
||||
int mca_io_romio_File_write_ordered_begin(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype){
|
||||
}
|
||||
int mca_io_romio_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status){
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -8,19 +8,27 @@
|
||||
#include "mpi/request/request.h"
|
||||
#include "mpi/file/file.h"
|
||||
#include "lam/threads/mutex.h"
|
||||
|
||||
|
||||
#include "romio-1.2.5.1/include/mpio.h"
|
||||
|
||||
/* global variables, instantiated in global.c */
|
||||
extern lam_mutex_t mca_io_romio_mutex;
|
||||
|
||||
|
||||
/*
|
||||
MPI_Request: "inherit" the lam_request, and add more stuff:
|
||||
(romio module will instantiate)
|
||||
*/
|
||||
struct mca_io_romio_request_t {
|
||||
lam_request_t super;
|
||||
mca_io_romio_MPIO_Request romio_rq;
|
||||
mca_io_romio_MPIO_Request romio_rq;
|
||||
};
|
||||
typedef struct mca_io_romio_request_t mca_io_romio_request_t;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
MPI_File: "inherit" the lam_file_t, and add more stuff
|
||||
(romio module will instantiate)
|
||||
*/
|
||||
struct mca_io_romio_file_t {
|
||||
lam_file_t super;
|
||||
mca_io_romio_MPI_File romio_fh;
|
||||
@ -29,13 +37,15 @@ typedef struct mca_io_romio_file_t mca_io_romio_file_t;
|
||||
|
||||
|
||||
|
||||
/* global variables, instantiated in global.c */
|
||||
extern lam_mutex_t mca_io_romio_mutex;
|
||||
|
||||
|
||||
|
||||
|
||||
/* function prototypes */
|
||||
/* function prototypes
|
||||
*
|
||||
* ROMIO MCA module routines are named: mca_io_romio_File_routine
|
||||
* which wrap the original Romio routines, which have been renamed
|
||||
* mca_io_romio_MPI_File_routine
|
||||
*
|
||||
*/
|
||||
/* Section 9.2 */
|
||||
int mca_io_romio_File_open(MPI_Comm comm, char *filename, int amode,
|
||||
MPI_Info info, MPI_File *fh);
|
||||
int mca_io_romio_File_close(MPI_File *fh);
|
||||
@ -49,8 +59,109 @@ int mca_io_romio_File_set_info(MPI_File fh, MPI_Info info);
|
||||
int mca_io_romio_File_get_info(MPI_File fh, MPI_Info *info_used);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Section 9.3 */
|
||||
int mca_io_romio_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
|
||||
MPI_Datatype filetype, char *datarep, MPI_Info info);
|
||||
int mca_io_romio_File_get_view(MPI_File fh, MPI_Offset *disp,
|
||||
MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep);
|
||||
|
||||
/* Section 9.4.2 */
|
||||
int mca_io_romio_File_read_at(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_write_at(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
|
||||
|
||||
int mca_io_romio_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Request *request);
|
||||
int mca_io_romio_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Request *request);
|
||||
|
||||
|
||||
/* Section 9.4.3 */
|
||||
int mca_io_romio_File_read(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_write(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_write_all(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
|
||||
|
||||
int mca_io_romio_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Request *request);
|
||||
int mca_io_romio_File_iwrite(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, lam_request_t **request);
|
||||
|
||||
|
||||
int mca_io_romio_File_seek(MPI_File fh, MPI_Offset offset, int whence);
|
||||
int mca_io_romio_File_get_position(MPI_File fh, MPI_Offset *offset);
|
||||
int mca_io_romio_File_get_byte_offset(MPI_File fh, MPI_Offset offset,
|
||||
MPI_Offset *disp);
|
||||
|
||||
/* Section 9.4.4 */
|
||||
int mca_io_romio_File_read_shared(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_write_shared(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_iread_shared(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Request *request);
|
||||
int mca_io_romio_File_iwrite_shared(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Request *request);
|
||||
int mca_io_romio_File_read_ordered(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_write_ordered(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence);
|
||||
int mca_io_romio_File_get_position_shared(MPI_File fh, MPI_Offset *offset);
|
||||
|
||||
/* Section 9.4.5 */
|
||||
int mca_io_romio_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype);
|
||||
int mca_io_romio_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype);
|
||||
int mca_io_romio_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_File_read_all_begin(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_File_write_all_begin(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_File_read_ordered_begin(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_File_write_ordered_begin(MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
|
||||
|
||||
/* Section 9.5.1 */
|
||||
int mca_io_romio_File_get_type_extent(MPI_File fh, MPI_Datatype datatype,
|
||||
MPI_Aint *extent);
|
||||
|
||||
/* Section 9.6.1 */
|
||||
int mca_io_romio_File_set_atomicity(MPI_File fh, int flag);
|
||||
int mca_io_romio_File_get_atomicity(MPI_File fh, int *flag);
|
||||
int mca_io_romio_File_sync(MPI_File fh);
|
||||
|
||||
/* Section 4.13.3 */
|
||||
int mca_io_romio_File_set_errhandler( MPI_File, MPI_Errhandler );
|
||||
int mca_io_romio_File_get_errhandler( MPI_File, MPI_Errhandler * );
|
||||
/* End Prototypes */
|
||||
|
||||
|
||||
|
||||
/* The funtions will not be called by users, but by LAM's MPI_Test/Wait
|
||||
* functions when they are called with an I/O request. */
|
||||
int mca_io_romio_Test(MPI_Request *request, int *flag, MPI_Status *status);
|
||||
int mca_io_romio_Wait(MPI_Request *request, MPI_Status *status);
|
||||
|
||||
|
||||
#endif /* MCA_IO_ROMIO_H */
|
||||
|
@ -68,7 +68,59 @@ mca_io_1_0_0_t romio_actions = {
|
||||
mca_io_romio_File_get_group,
|
||||
mca_io_romio_File_get_amode,
|
||||
mca_io_romio_File_set_info,
|
||||
mca_io_romio_File_get_info
|
||||
mca_io_romio_File_get_info,
|
||||
mca_io_romio_File_set_view,
|
||||
mca_io_romio_File_get_view,
|
||||
mca_io_romio_File_read_at,
|
||||
mca_io_romio_File_read_at_all,
|
||||
mca_io_romio_File_write_at,
|
||||
mca_io_romio_File_write_at_all,
|
||||
mca_io_romio_File_iread_at,
|
||||
mca_io_romio_File_iwrite_at,
|
||||
mca_io_romio_File_read,
|
||||
mca_io_romio_File_read_all,
|
||||
mca_io_romio_File_write,
|
||||
mca_io_romio_File_write_all,
|
||||
mca_io_romio_File_iread,
|
||||
mca_io_romio_File_iwrite,
|
||||
|
||||
mca_io_romio_File_seek,
|
||||
mca_io_romio_File_get_position,
|
||||
mca_io_romio_File_get_byte_offset,
|
||||
|
||||
mca_io_romio_File_read_shared,
|
||||
mca_io_romio_File_write_shared,
|
||||
mca_io_romio_File_iread_shared,
|
||||
mca_io_romio_File_iwrite_shared,
|
||||
mca_io_romio_File_read_ordered,
|
||||
mca_io_romio_File_write_ordered,
|
||||
mca_io_romio_File_seek_shared,
|
||||
mca_io_romio_File_get_position_shared,
|
||||
|
||||
mca_io_romio_File_read_at_all_begin,
|
||||
mca_io_romio_File_read_at_all_end,
|
||||
mca_io_romio_File_write_at_all_begin,
|
||||
mca_io_romio_File_write_at_all_end,
|
||||
mca_io_romio_File_read_all_begin,
|
||||
mca_io_romio_File_read_all_end,
|
||||
mca_io_romio_File_write_all_begin,
|
||||
mca_io_romio_File_write_all_end,
|
||||
mca_io_romio_File_read_ordered_begin,
|
||||
mca_io_romio_File_read_ordered_end,
|
||||
mca_io_romio_File_write_ordered_begin,
|
||||
mca_io_romio_File_write_ordered_end,
|
||||
|
||||
mca_io_romio_File_get_type_extent,
|
||||
|
||||
mca_io_romio_File_set_atomicity,
|
||||
mca_io_romio_File_get_atomicity,
|
||||
mca_io_romio_File_sync,
|
||||
|
||||
mca_io_romio_File_set_errhandler,
|
||||
mca_io_romio_File_get_errhandler,
|
||||
|
||||
mca_io_romio_Test,
|
||||
mca_io_romio_Wait
|
||||
};
|
||||
|
||||
mca_io_1_0_0_t* mca_io_romio_module_init(int* priority, int* min_thread, int* max_thread)
|
||||
@ -78,8 +130,5 @@ mca_io_1_0_0_t* mca_io_romio_module_init(int* priority, int* min_thread, int* ma
|
||||
*min_thread = MPI_THREAD_SINGLE;
|
||||
*max_thread = MPI_THREAD_SERIALIZED;
|
||||
|
||||
|
||||
|
||||
return &romio_actions;
|
||||
|
||||
}
|
||||
|
@ -1,21 +1,147 @@
|
||||
/*
|
||||
* $HEADER
|
||||
*
|
||||
* The actual ROMIO routines.
|
||||
* all of these routines have been renamed: prefix with mca_io_romio
|
||||
*
|
||||
* ROMIO specific types have also been renamed: (cant do this with #define
|
||||
* since this file is included by LAM's I/O module)
|
||||
* all ROMIO references to:
|
||||
* MPIO_Request changed to: mca_io_romio_MPIO_Request
|
||||
* MPI_File changed to: mca_io_romio_MPI_File
|
||||
*
|
||||
* All other types have been deleted, since they appear in LAM's mpi.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef MCA_IO_ROMIO_DUMMY_H
|
||||
#define MCA_IO_ROMIO_DUMMY_H
|
||||
|
||||
|
||||
typedef char *mca_io_romio_MPIO_Request;
|
||||
typedef char *mca_io_romio_MPI_File;
|
||||
typedef struct ADIOI_FileD *mca_io_romio_MPI_File;
|
||||
typedef struct ADIOI_RequestD *mca_io_romio_MPIO_Request;
|
||||
|
||||
|
||||
int mca_io_romio_MPI_File_iwrite(mca_io_romio_MPI_File, void *,
|
||||
int, MPI_Datatype, mca_io_romio_MPIO_Request);
|
||||
|
||||
|
||||
|
||||
/* Section 9.2 */
|
||||
int mca_io_romio_MPI_File_open(MPI_Comm comm, char *filename, int amode,
|
||||
MPI_Info info, mca_io_romio_MPI_File *fh);
|
||||
MPI_Info info, mca_io_romio_MPI_File *fh);
|
||||
int mca_io_romio_MPI_File_close(mca_io_romio_MPI_File *fh);
|
||||
int mca_io_romio_MPI_File_delete(char *filename, MPI_Info info);
|
||||
int mca_io_romio_MPI_File_set_size(mca_io_romio_MPI_File fh, MPI_Offset size);
|
||||
int mca_io_romio_MPI_File_preallocate(mca_io_romio_MPI_File fh, MPI_Offset size);
|
||||
int mca_io_romio_MPI_File_get_size(mca_io_romio_MPI_File fh, MPI_Offset *size);
|
||||
int mca_io_romio_MPI_File_get_group(mca_io_romio_MPI_File fh, MPI_Group *group);
|
||||
int mca_io_romio_MPI_File_get_amode(mca_io_romio_MPI_File fh, int *amode);
|
||||
int mca_io_romio_MPI_File_set_info(mca_io_romio_MPI_File fh, MPI_Info info);
|
||||
int mca_io_romio_MPI_File_get_info(mca_io_romio_MPI_File fh, MPI_Info *info_used);
|
||||
|
||||
|
||||
|
||||
|
||||
/* Section 9.3 */
|
||||
int mca_io_romio_MPI_File_set_view(mca_io_romio_MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
|
||||
MPI_Datatype filetype, char *datarep, MPI_Info info);
|
||||
int mca_io_romio_MPI_File_get_view(mca_io_romio_MPI_File fh, MPI_Offset *disp,
|
||||
MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep);
|
||||
|
||||
/* Section 9.4.2 */
|
||||
int mca_io_romio_MPI_File_read_at(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_read_at_all(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_at(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_at_all(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, MPI_Status *status);
|
||||
|
||||
|
||||
int mca_io_romio_MPI_File_iread_at(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, mca_io_romio_MPIO_Request *request);
|
||||
int mca_io_romio_MPI_File_iwrite_at(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype, mca_io_romio_MPIO_Request *request);
|
||||
|
||||
|
||||
/* Section 9.4.3 */
|
||||
int mca_io_romio_MPI_File_read(mca_io_romio_MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_read_all(mca_io_romio_MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write(mca_io_romio_MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_all(mca_io_romio_MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, MPI_Status *status);
|
||||
|
||||
|
||||
int mca_io_romio_MPI_File_iread(mca_io_romio_MPI_File fh, void *buf, int count, MPI_Datatype
|
||||
datatype, mca_io_romio_MPIO_Request *request);
|
||||
int mca_io_romio_MPI_File_iwrite(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, mca_io_romio_MPIO_Request *request);
|
||||
|
||||
|
||||
int mca_io_romio_MPI_File_seek(mca_io_romio_MPI_File fh, MPI_Offset offset, int whence);
|
||||
int mca_io_romio_MPI_File_get_position(mca_io_romio_MPI_File fh, MPI_Offset *offset);
|
||||
int mca_io_romio_MPI_File_get_byte_offset(mca_io_romio_MPI_File fh, MPI_Offset offset,
|
||||
MPI_Offset *disp);
|
||||
|
||||
/* Section 9.4.4 */
|
||||
int mca_io_romio_MPI_File_read_shared(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_shared(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_iread_shared(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, mca_io_romio_MPIO_Request *request);
|
||||
int mca_io_romio_MPI_File_iwrite_shared(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, mca_io_romio_MPIO_Request *request);
|
||||
int mca_io_romio_MPI_File_read_ordered(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_ordered(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_seek_shared(mca_io_romio_MPI_File fh, MPI_Offset offset, int whence);
|
||||
int mca_io_romio_MPI_File_get_position_shared(mca_io_romio_MPI_File fh, MPI_Offset *offset);
|
||||
|
||||
/* Section 9.4.5 */
|
||||
int mca_io_romio_MPI_File_read_at_all_begin(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype);
|
||||
int mca_io_romio_MPI_File_read_at_all_end(mca_io_romio_MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_at_all_begin(mca_io_romio_MPI_File fh, MPI_Offset offset, void *buf,
|
||||
int count, MPI_Datatype datatype);
|
||||
int mca_io_romio_MPI_File_write_at_all_end(mca_io_romio_MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_read_all_begin(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_MPI_File_read_all_end(mca_io_romio_MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_all_begin(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_MPI_File_write_all_end(mca_io_romio_MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_read_ordered_begin(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_MPI_File_read_ordered_end(mca_io_romio_MPI_File fh, void *buf, MPI_Status *status);
|
||||
int mca_io_romio_MPI_File_write_ordered_begin(mca_io_romio_MPI_File fh, void *buf, int count,
|
||||
MPI_Datatype datatype);
|
||||
int mca_io_romio_MPI_File_write_ordered_end(mca_io_romio_MPI_File fh, void *buf, MPI_Status *status);
|
||||
|
||||
/* Section 9.5.1 */
|
||||
int mca_io_romio_MPI_File_get_type_extent(mca_io_romio_MPI_File fh, MPI_Datatype datatype,
|
||||
MPI_Aint *extent);
|
||||
|
||||
/* Section 9.6.1 */
|
||||
int mca_io_romio_MPI_File_set_atomicity(mca_io_romio_MPI_File fh, int flag);
|
||||
int mca_io_romio_MPI_File_get_atomicity(mca_io_romio_MPI_File fh, int *flag);
|
||||
int mca_io_romio_MPI_File_sync(mca_io_romio_MPI_File fh);
|
||||
|
||||
/* Section 4.13.3 */
|
||||
int mca_io_romio_MPI_File_set_errhandler(mca_io_romio_MPI_File, MPI_Errhandler );
|
||||
int mca_io_romio_MPI_File_get_errhandler(mca_io_romio_MPI_File, MPI_Errhandler * );
|
||||
/* End Prototypes */
|
||||
|
||||
|
||||
int mca_io_romio_MPIO_Test(mca_io_romio_MPIO_Request *request, int *flag, MPI_Status *status);
|
||||
int mca_io_romio_MPIO_Wait(mca_io_romio_MPIO_Request *request, MPI_Status *status);
|
||||
MPI_Fint mca_io_romio_MPIO_Request_c2f(mca_io_romio_MPIO_Request request);
|
||||
mca_io_romio_MPIO_Request mca_io_romio_MPIO_Request_f2c(MPI_Fint request);
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user