Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
authornavarro <navarro@caraja.(none)>
Wed, 24 Oct 2012 11:12:36 +0000 (13:12 +0200)
committernavarro <navarro@caraja.(none)>
Wed, 24 Oct 2012 11:12:36 +0000 (13:12 +0200)
ChangeLog
buildtools/Cmake/MakeLib.cmake
examples/msg/io/file.c
examples/msg/io/file_unlink.c
examples/msg/io/io.tesh
src/simdag/dax_dtd.c
src/surf/simgrid_dtd.c
src/xbt/graphxml.c

index 9f0dfe4..3231779 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -74,9 +74,18 @@ SimGrid (3.8) NOT RELEASED; urgency=low
  * Re-implement time-independent trace replay using SMPI (at the
    smpi_smp_* level) instead of MSG. This should replace
    examples/msg/actions/actions.c
+ * Implement support of MPI Datatypes (vectors, hvectors, indexed, 
+   hindexed and structs)
  * Implement the exchange of non-contiguous data.
    [Khalid Hasanov & Jean-Noel Quintin] Thanks for the patch, guys.
-
+ * Correct behavior of smpi/sender_gap and set its default value to 0
+ * Add option to asynchronously send small messages to allow better 
+  simulation of pt2pt communications. --cfg=smpi/async_small_threshold:value 
+  specifies the size in bytes under which messages will be asynchronously sent.
+ * Add support of MPI_Iprobe, MPI_Probe, MPI_Testall, MPI_Wtick functions
+ * SMPI now handles more MPI specific values in input. Closes [#14389] and [#14388] 
+   
  SimGrid:
  * Export a sg_cmdline dynar containing all the arguments we got from
    the command line.
index 8e71f41..d37b8bf 100644 (file)
@@ -117,10 +117,13 @@ endif(HAVE_GTNETS)
 if(HAVE_MC)
   # The availability of libunwind was checked in CompleteInFiles.cmake
   #   (that includes FindLibunwind.cmake), so simply load it now.
+  
+  # This supposes that the host machine is either an AMD or a X86.
+  # This is deeply wrong, and should be fixed by manually loading -lunwind-PLAT (FIXME)
   if(PROCESSOR_x86_64)
     SET(SIMGRID_DEP "${SIMGRID_DEP} -lunwind-x86_64")
-  else(PROCESSOR_x86_64)
-    SET(SIMGRID_DEP "${SIMGRID_DEP} -lunwind")
+  else(PROCESSOR_x86_64)    
+    SET(SIMGRID_DEP "${SIMGRID_DEP} -lunwind-x86")
   endif(PROCESSOR_x86_64)
 endif(HAVE_MC)
 
index 96b70b3..0eb2cb4 100644 (file)
@@ -51,13 +51,13 @@ int host(int argc, char *argv[])
   XBT_INFO("\tOpen file '%s'",file->name);
 
   read = MSG_file_read(ptr,10000000,sizeof(char*),file);     // Read for 10Mo
-  XBT_INFO("\tHaving read  %.1f \ton %s",read,file->name);
+  XBT_INFO("\tHave read    %8.1f on %s",read,file->name);
 
   write = MSG_file_write(ptr,100000,sizeof(char*),file);  // Write for 100Ko
-  XBT_INFO("\tHaving write %.1f \ton %s",write,file->name);
+  XBT_INFO("\tHave written %8.1f on %s",write,file->name);
 
   read = MSG_file_read(ptr,10000000,sizeof(char*),file);     // Read for 10Mo
-  XBT_INFO("\tHaving read  %.1f \ton %s",read,file->name);
+  XBT_INFO("\tHave read    %8.1f on %s",read,file->name);
 
   MSG_file_stat(file,&stat);
   XBT_INFO("\tFile stat %s Size %.1f",file->name,stat.size);
index 2d8c5eb..d9f6c01 100644 (file)
@@ -59,7 +59,7 @@ int host(int argc, char *argv[])
 
   // Write into the new file
   write = MSG_file_write(ptr,100000,sizeof(char*),file);  // Write for 100Ko
-  XBT_INFO("\tHaving write %.1f \ton %s",write,file->name);
+  XBT_INFO("\tHave written %8.1f on %s",write,file->name);
 
   // Print the stat
   MSG_file_stat(file,&stat);
index 4dbe954..bd1328b 100644 (file)
@@ -7,24 +7,24 @@ $ ${bindir:=.}/io/file ${srcdir:=.}/examples/platforms/storage.xml "--log=root.f
 > [  0.000000] (2:1@alice)     Open file './doc/simgrid/examples/platforms/One_cluster_no_backbone.xml'
 > [  0.000000] (3:2@carl)      Open file './doc/simgrid/examples/platforms/g5k_cabinets.xml'
 > [  0.000000] (4:3@bob)       Open file './doc/simgrid/examples/platforms/nancy.xml'
-> [  0.000005] (2:1@alice)     Having read  482.0      on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
-> [  0.000040] (4:3@bob)       Having read  4028.0     on ./doc/simgrid/examples/platforms/nancy.xml
-> [  0.000170] (1:0@denise)    Having read  17028.0    on ./doc/simgrid/examples/platforms/g5k.xml
-> [  0.000226] (3:2@carl)      Having read  22645.0    on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
-> [  0.003338] (2:1@alice)     Having write 100000.0   on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
-> [  0.003374] (4:3@bob)       Having write 100000.0   on ./doc/simgrid/examples/platforms/nancy.xml
-> [  0.003504] (1:0@denise)    Having write 100000.0   on ./doc/simgrid/examples/platforms/g5k.xml
-> [  0.003560] (3:2@carl)      Having write 100000.0   on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
-> [  0.004343] (2:1@alice)     Having read  100482.0   on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
+> [  0.000005] (2:1@alice)     Have read       482.0 on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
+> [  0.000040] (4:3@bob)       Have read      4028.0 on ./doc/simgrid/examples/platforms/nancy.xml
+> [  0.000170] (1:0@denise)    Have read     17028.0 on ./doc/simgrid/examples/platforms/g5k.xml
+> [  0.000226] (3:2@carl)      Have read     22645.0 on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
+> [  0.003338] (2:1@alice)     Have written 100000.0 on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
+> [  0.003374] (4:3@bob)       Have written 100000.0 on ./doc/simgrid/examples/platforms/nancy.xml
+> [  0.003504] (1:0@denise)    Have written 100000.0 on ./doc/simgrid/examples/platforms/g5k.xml
+> [  0.003560] (3:2@carl)      Have written 100000.0 on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
+> [  0.004343] (2:1@alice)     Have read    100482.0 on ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml
 > [  0.004343] (2:1@alice)     File stat ./doc/simgrid/examples/platforms/One_cluster_no_backbone.xml Size 100482.0
 > [  0.004343] (2:1@alice)     Close file './doc/simgrid/examples/platforms/One_cluster_no_backbone.xml'
-> [  0.004414] (4:3@bob)       Having read  104028.0   on ./doc/simgrid/examples/platforms/nancy.xml
+> [  0.004414] (4:3@bob)       Have read    104028.0 on ./doc/simgrid/examples/platforms/nancy.xml
 > [  0.004414] (4:3@bob)       File stat ./doc/simgrid/examples/platforms/nancy.xml Size 104028.0
 > [  0.004414] (4:3@bob)       Close file './doc/simgrid/examples/platforms/nancy.xml'
-> [  0.004674] (1:0@denise)    Having read  117028.0   on ./doc/simgrid/examples/platforms/g5k.xml
+> [  0.004674] (1:0@denise)    Have read    117028.0 on ./doc/simgrid/examples/platforms/g5k.xml
 > [  0.004674] (1:0@denise)    File stat ./doc/simgrid/examples/platforms/g5k.xml Size 117028.0
 > [  0.004674] (1:0@denise)    Close file './doc/simgrid/examples/platforms/g5k.xml'
-> [  0.004786] (3:2@carl)      Having read  122645.0   on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
+> [  0.004786] (3:2@carl)      Have read    122645.0 on ./doc/simgrid/examples/platforms/g5k_cabinets.xml
 > [  0.004786] (3:2@carl)      File stat ./doc/simgrid/examples/platforms/g5k_cabinets.xml Size 122645.0
 > [  0.004786] (3:2@carl)      Close file './doc/simgrid/examples/platforms/g5k_cabinets.xml'
 > [  0.004786] (0:@) Simulation time 0.00478623
@@ -37,7 +37,7 @@ $ ${bindir:=.}/io/file_unlink ${srcdir:=.}/examples/platforms/storage.xml "--log
 > [  0.000000] (1:0@denise)    Unlink file './doc/simgrid/examples/platforms/g5k.xml'
 > [  0.000000] (1:0@denise)    Open file './doc/simgrid/examples/platforms/g5k.xml'
 > [  0.000000] (1:0@denise)    File stat ./doc/simgrid/examples/platforms/g5k.xml Size 0.0
-> [  0.003333] (1:0@denise)    Having write 100000.0   on ./doc/simgrid/examples/platforms/g5k.xml
+> [  0.003333] (1:0@denise)    Have written 100000.0 on ./doc/simgrid/examples/platforms/g5k.xml
 > [  0.003333] (1:0@denise)    File stat ./doc/simgrid/examples/platforms/g5k.xml Size 100000.0
 > [  0.003333] (1:0@denise)    Close file './doc/simgrid/examples/platforms/g5k.xml'
 > [  0.003333] (1:0@denise)  
index f0eae81..29c6072 100644 (file)
@@ -1498,13 +1498,24 @@ static int ck_ilimit()
 #ifdef FLEXML_NEED_BUFFERLIT
 static void dax__bufferliteral(char c, int* pp, const char* text)
 {
-  const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
-  assert(s <= e); BUFFERSET(*pp);
-  while (++s<e) {
-    if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
-    else BUFFERPUTC(*s);
-  }
-  BUFFERDONE;
+   BUFFERSET(*pp);
+   if (c) {
+      const char *s = strchr(text, c), *e = strrchr(text, c);
+      assert(s && e && s <= e);
+      ++s;
+      while (s < e) {
+        if (isspace(*s)) {
+           BUFFERPUTC(' ');
+           do ++s; while (s < e && isspace(*s));
+        } else
+          BUFFERPUTC(*s++);
+      }
+   } else {
+      const char *s = text;
+      while (*s)
+       BUFFERPUTC(*s++);
+   }
+   BUFFERDONE;
 }
 #endif
 
index b5307d2..9e8ceff 100644 (file)
@@ -4847,13 +4847,24 @@ static int ck_ilimit()
 #ifdef FLEXML_NEED_BUFFERLIT
 static void surfxml_bufferliteral(char c, int* pp, const char* text)
 {
-  const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
-  assert(s <= e); BUFFERSET(*pp);
-  while (++s<e) {
-    if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
-    else BUFFERPUTC(*s);
-  }
-  BUFFERDONE;
+   BUFFERSET(*pp);
+   if (c) {
+      const char *s = strchr(text, c), *e = strrchr(text, c);
+      assert(s && e && s <= e);
+      ++s;
+      while (s < e) {
+        if (isspace(*s)) {
+           BUFFERPUTC(' ');
+           do ++s; while (s < e && isspace(*s));
+        } else
+          BUFFERPUTC(*s++);
+      }
+   } else {
+      const char *s = text;
+      while (*s)
+       BUFFERPUTC(*s++);
+   }
+   BUFFERDONE;
 }
 #endif
 
index c3353c3..905fc9e 100644 (file)
@@ -1257,13 +1257,24 @@ static int ck_ilimit()
 #ifdef FLEXML_NEED_BUFFERLIT
 static void graphxml_bufferliteral(char c, int* pp, const char* text)
 {
-  const char *s = (c ? strchr(text,c) : text-1), *e = strrchr(text,c);
-  assert(s <= e); BUFFERSET(*pp);
-  while (++s<e) {
-    if (isspace(*s) && c) { BUFFERPUTC(' '); while (isspace(*s)) ++s; }
-    else BUFFERPUTC(*s);
-  }
-  BUFFERDONE;
+   BUFFERSET(*pp);
+   if (c) {
+      const char *s = strchr(text, c), *e = strrchr(text, c);
+      assert(s && e && s <= e);
+      ++s;
+      while (s < e) {
+        if (isspace(*s)) {
+           BUFFERPUTC(' ');
+           do ++s; while (s < e && isspace(*s));
+        } else
+          BUFFERPUTC(*s++);
+      }
+   } else {
+      const char *s = text;
+      while (*s)
+       BUFFERPUTC(*s++);
+   }
+   BUFFERDONE;
 }
 #endif