From: degomme Date: Tue, 5 Apr 2016 13:34:13 +0000 (+0200) Subject: Add MPI_File* bindings to SMPI, even if they are unimplemented. X-Git-Tag: v3_13~180^2 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/94c66cf5e8b852f6e5562c9b956e647f8ca733d2 Add MPI_File* bindings to SMPI, even if they are unimplemented. We should add a better way to add unimplemented code without generating this much dead code .. Even if this dead code is a placeholder for a potential future implementation.. --- diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index eaf101bc36..11afb6335e 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -181,6 +181,22 @@ SG_BEGIN_DECL() #define MPI_LOCK_EXCLUSIVE 1 #define MPI_LOCK_SHARED 2 +#define MPI_MODE_RDONLY 2 +#define MPI_MODE_RDWR 8 +#define MPI_MODE_WRONLY 4 +#define MPI_MODE_CREATE 1 +#define MPI_MODE_EXCL 64 +#define MPI_MODE_DELETE_ON_CLOSE 16 +#define MPI_MODE_UNIQUE_OPEN 32 +#define MPI_MODE_APPEND 128 +#define MPI_MODE_SEQUENTIAL 256 +#define MPI_FILE_NULL ((MPI_File) 0) +#define MPI_DISPLACEMENT_CURRENT -54278278 +#define MPI_SEEK_SET 600 +#define MPI_SEEK_CUR 602 +#define MPI_SEEK_END 604 +#define MPI_MAX_DATAREP_STRING 128 + // FIXME : used nowhere... typedef enum MPIR_Combiner_enum{ MPI_COMBINER_NAMED, @@ -727,6 +743,47 @@ MPI_CALL(XBT_PUBLIC(int), MPI_Win_test,(MPI_Win win, int *flag)); MPI_CALL(XBT_PUBLIC(int), MPI_Win_unlock,(int rank, MPI_Win win)); MPI_CALL(XBT_PUBLIC(int), MPI_Win_wait,(MPI_Win win)); + +MPI_CALL(XBT_PUBLIC(int), MPI_File_get_errhandler , (MPI_File file, MPI_Errhandler *errhandler)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_set_errhandler, (MPI_File file, MPI_Errhandler errhandler)); + +MPI_CALL(XBT_PUBLIC(int), MPI_File_open,(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_close,(MPI_File *fh)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_delete,(const char *filename, MPI_Info info)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_set_size,(MPI_File fh, MPI_Offset size)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_get_size,(MPI_File fh, MPI_Offset *size)); + +MPI_CALL(XBT_PUBLIC(int), MPI_File_set_view,(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, + const char *datarep, MPI_Info info)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_get_view,(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, + char *datarep)); + +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_at,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_at_all,(MPI_File fh, MPI_Offset offset, void * buf, int count, + MPI_Datatype datatype, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_at,(MPI_File fh, MPI_Offset offset, const void * buf, int count, + MPI_Datatype datatype, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_at_all,(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_set_atomicity,(MPI_File fh, int flag)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_get_atomicity,(MPI_File fh, int *flag)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_sync,(MPI_File fh)); + +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_at_all_begin,(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_at_all_end,(MPI_File fh, void *buf, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_at_all_begin,(MPI_File fh, MPI_Offset offset, const void *buf, int count,MPI_Datatype datatype)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_at_all_end,(MPI_File fh, const void *buf, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_all_begin,(MPI_File fh, void *buf, int count, MPI_Datatype datatype)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_all_end,(MPI_File fh, void *buf, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_all_begin,(MPI_File fh, const void *buf, int count, MPI_Datatype datatype)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_all_end,(MPI_File fh, const void *buf, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_ordered_begin,(MPI_File fh, void *buf, int count, MPI_Datatype datatype)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_read_ordered_end,(MPI_File fh, void *buf, MPI_Status *status)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_ordered_begin,(MPI_File fh, const void *buf, int count, MPI_Datatype datatype)); +MPI_CALL(XBT_PUBLIC(int), MPI_File_write_ordered_end,(MPI_File fh, const void *buf, MPI_Status *status)); + //FIXME: End of all the not yet implemented stuff // smpi functions diff --git a/src/smpi/smpi_mpi.cpp b/src/smpi/smpi_mpi.cpp index 1dd328b16f..cf78156b32 100644 --- a/src/smpi/smpi_mpi.cpp +++ b/src/smpi/smpi_mpi.cpp @@ -1110,3 +1110,122 @@ MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler){ MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler){ return PMPI_Errhandler_c2f(errhandler); } + +int MPI_File_get_errhandler (MPI_File file, MPI_Errhandler *errhandler){ + return PMPI_File_get_errhandler(file, errhandler); +} + +int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler){ + return PMPI_File_set_errhandler(file, errhandler); +} + +int MPI_File_open(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh){ + return PMPI_File_open(comm, filename, amode, info, fh); +} + +int MPI_File_close(MPI_File *fh){ + return PMPI_File_close(fh); +} + +int MPI_File_delete(const char *filename, MPI_Info info){ + return PMPI_File_delete(filename, info); +} + +int MPI_File_set_size(MPI_File fh, MPI_Offset size){ + return PMPI_File_set_size(fh,size); +} + +int MPI_File_get_size(MPI_File fh, MPI_Offset *size){ + return PMPI_File_get_size(fh, size); +} + +int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, const char *datarep, MPI_Info info){ + return PMPI_File_set_view(fh, disp, etype, filetype, datarep, info); +} + +int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep){ + return PMPI_File_get_view(fh, disp, etype, filetype, datarep); +} + +int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status){ + return PMPI_File_read_at(fh,offset,buf,count,datatype,status); +} + +int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void * buf, int count, + MPI_Datatype datatype, MPI_Status *status){ + return PMPI_File_read_at_all(fh,offset, buf, count, + datatype, status); +} + +int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void * buf, int count, + MPI_Datatype datatype, MPI_Status *status){ + return PMPI_File_write_at(fh, offset,buf, count, datatype, status); +} + +int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status){ + return PMPI_File_write_at_all(fh,offset,buf,count, datatype,status); +} + +int MPI_File_set_atomicity(MPI_File fh, int flag){ + return PMPI_File_set_atomicity(fh,flag); +} + +int MPI_File_get_atomicity(MPI_File fh, int *flag){ + return PMPI_File_get_atomicity(fh, flag); +} + +int MPI_File_sync(MPI_File fh){ + return PMPI_File_sync(fh); +} + +int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype){ + return PMPI_File_read_at_all_begin(fh,offset,buf,count,datatype); +} + +int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status){ + return PMPI_File_read_at_all_end(fh,buf,status); +} + +int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, int count,MPI_Datatype datatype){ + return PMPI_File_write_at_all_begin(fh,offset,buf,count,datatype); +} + +int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status){ + return PMPI_File_write_at_all_end(fh,buf,status); +} + +int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype){ + return PMPI_File_read_all_begin(fh, buf,count,datatype); +} + +int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status){ + return PMPI_File_read_all_end(fh, buf, status); +} + +int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype){ + return PMPI_File_write_all_begin(fh, buf, count,datatype); +} + +int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status){ + return PMPI_File_write_all_end(fh,buf,status); +} + +int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype){ + return PMPI_File_read_ordered_begin(fh, buf, count, datatype); +} + +int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status){ + return PMPI_File_read_ordered_end(fh, buf, status); +} + +int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype){ + return PMPI_File_write_ordered_begin(fh, buf,count, datatype); +} + +int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status){ + return PMPI_File_write_ordered_end(fh,buf, status); +} + + diff --git a/src/smpi/smpi_pmpi.cpp b/src/smpi/smpi_pmpi.cpp index 31b7a8e266..65389eb29c 100644 --- a/src/smpi/smpi_pmpi.cpp +++ b/src/smpi/smpi_pmpi.cpp @@ -3582,3 +3582,120 @@ int PMPI_Win_test(MPI_Win win, int *flag){ int PMPI_Win_unlock(int rank, MPI_Win win){ NOT_YET_IMPLEMENTED } + +int PMPI_File_get_errhandler (MPI_File file, MPI_Errhandler *errhandler){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_open(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_close(MPI_File *fh){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_delete(const char *filename, MPI_Info info){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_set_size(MPI_File fh, MPI_Offset size){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_get_size(MPI_File fh, MPI_Offset *size){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, const char *datarep, MPI_Info info){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void * buf, int count, + MPI_Datatype datatype, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_at(MPI_File fh, MPI_Offset offset, const void * buf, int count, + MPI_Datatype datatype, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, MPI_Datatype datatype, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_set_atomicity(MPI_File fh, int flag){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_get_atomicity(MPI_File fh, int *flag){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_sync(MPI_File fh){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, int count,MPI_Datatype datatype){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_all_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype){ + NOT_YET_IMPLEMENTED +} + +int PMPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status){ + NOT_YET_IMPLEMENTED +} + +