Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add MPI_File* bindings to SMPI, even if they are unimplemented.
authordegomme <augustin.degomme@unibas.ch>
Tue, 5 Apr 2016 13:34:13 +0000 (15:34 +0200)
committerdegomme <augustin.degomme@unibas.ch>
Tue, 5 Apr 2016 13:34:28 +0000 (15:34 +0200)
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..

include/smpi/smpi.h
src/smpi/smpi_mpi.cpp
src/smpi/smpi_pmpi.cpp

index eaf101b..11afb63 100644 (file)
@@ -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
index 1dd328b..cf78156 100644 (file)
@@ -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);
+}
+
+
index 31b7a8e..65389eb 100644 (file)
@@ -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
+}
+
+