Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
trace: functions to generate links, append a link type in the hierarchy of types
authorschnorr <schnorr@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 6 Aug 2010 15:39:03 +0000 (15:39 +0000)
committerschnorr <schnorr@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Fri, 6 Aug 2010 15:39:03 +0000 (15:39 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@8128 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/instr/interface.c
src/instr/private.h
src/instr/smpi_instr.c

index fc0b886..88a0576 100644 (file)
@@ -78,6 +78,7 @@ int TRACE_start ()
   if (IS_TRACING_SMPI){
     pajeDefineContainerType ("MPI_PROCESS", "HOST", "MPI_PROCESS");
     pajeDefineStateType ("MPI_STATE", "MPI_PROCESS", "MPI_STATE");
   if (IS_TRACING_SMPI){
     pajeDefineContainerType ("MPI_PROCESS", "HOST", "MPI_PROCESS");
     pajeDefineStateType ("MPI_STATE", "MPI_PROCESS", "MPI_STATE");
+    pajeDefineLinkType ("MPI_LINK", "0", "MPI_PROCESS", "MPI_PROCESS", "MPI_LINK");
   }
 
   /* creating the platform */
   }
 
   /* creating the platform */
index a5da3bb..107961e 100644 (file)
@@ -137,6 +137,8 @@ void TRACE_smpi_start (void);
 void TRACE_smpi_end (void);
 void TRACE_smpi_collective_in (int rank, int root, const char *operation);
 void TRACE_smpi_collective_out (int rank, int root, const char *operation);
 void TRACE_smpi_end (void);
 void TRACE_smpi_collective_in (int rank, int root, const char *operation);
 void TRACE_smpi_collective_out (int rank, int root, const char *operation);
+void TRACE_smpi_send (int rank, int src, int dst);
+void TRACE_smpi_recv (int rank, int src, int dst);
 
 /* from instr_config.c */
 int _TRACE_configured (void);
 
 /* from instr_config.c */
 int _TRACE_configured (void);
index 7700877..0d1f510 100644 (file)
@@ -103,5 +103,20 @@ void TRACE_smpi_collective_out (int rank, int root, const char *operation)
       _TRACE_smpi_container (rank, str, 100));
 }
 
       _TRACE_smpi_container (rank, str, 100));
 }
 
+void TRACE_smpi_send (int rank, int src, int dst)
+{
+  char key[100], str[100];
+  _TRACE_smpi_put_key (src, dst, key, 100);
+  pajeStartLink (SIMIX_get_clock(), "MPI_LINK", "0", "PTP",
+      _TRACE_smpi_container (src, str, 100), key);
+}
+
+void TRACE_smpi_recv (int rank, int src, int dst)
+{
+  char key[100], str[100];
+  _TRACE_smpi_get_key (src, dst, key, 100);
+  pajeEndLink (SIMIX_get_clock(), "MPI_LINK", "0", "PTP",
+      _TRACE_smpi_container (dst, str, 100), key);
+}
 #endif
 
 #endif