Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Please valgrind.
[simgrid.git] / tools / simgrid_convert_TI_traces.py
index f1a5ed7..dc9a1be 100755 (executable)
@@ -1,5 +1,10 @@
 #!/usr/bin/env python3
 
+# Copyright (c) 2018-2022. The SimGrid Team. All rights reserved.
+
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the license (GNU LGPL) which comes with this package.
+
 '''
 This script is intended to convert SMPI time independent traces (TIT) from the
 old format (simgrid version <= 3.19) to the new format.
@@ -10,7 +15,7 @@ IRecv call arbitrarily.
 This new that includes tags field that links MPI_wait calls to the
 MPI_ISend or MPI_IRecv associated to this wait.
 
-This script reproduce the old behavior of simgrid because informations are
+This script reproduce the old behavior of simgrid because information are
 missing to add the tags properly. It also lower case all the mpi calls.
 
 It takes in input (as argument or in stdin) the trace list file that is only a
@@ -35,7 +40,7 @@ def convert_trace(trace_path, base_path, output_path, trace_version="1.0"):
 
         new_file_path = os.path.join(output_path, trace_path)
         pathlib.Path(os.path.dirname(new_file_path)).mkdir(
-                parents=True, exist_ok=True)
+            parents=True, exist_ok=True)
 
         with open(new_file_path, "w") as new_trace:
             # Write header
@@ -44,7 +49,7 @@ def convert_trace(trace_path, base_path, output_path, trace_version="1.0"):
             last_async_call_src = None
             last_async_call_dst = None
             for line_num, line in enumerate(trace_file.readlines()):
-                #print(line)
+                # print(line)
                 new_line = None
                 split_line = line.lower().strip().split(" ")
                 mpi_call = split_line[1]
@@ -63,10 +68,10 @@ def convert_trace(trace_path, base_path, output_path, trace_version="1.0"):
                     if (last_async_call_src is None
                             or last_async_call_dst is None):
                         raise Exception("Invalid traces: No Isend or Irecv "
-                                "found before the wait in line " +
-                                str(line_num) + " in file " + old_file_path )
-                    new_line = insert_elem(split_line, 2, last_async_call_src)
-                    new_line = insert_elem(split_line, 3, last_async_call_dst)
+                                        "found before the wait in line " +
+                                        str(line_num) + " in file " + old_file_path)
+                    insert_elem(split_line, 2, last_async_call_src)
+                    insert_elem(split_line, 3, last_async_call_dst)
                     new_line = insert_elem(split_line, 4, "0")
 
                 if new_line is not None:
@@ -81,14 +86,13 @@ if __name__ == "__main__":
     import argparse
     import sys
 
-
     parser = argparse.ArgumentParser(description=sys.modules[__name__].__doc__)
 
     parser.add_argument('trace_list_file', type=argparse.FileType('r'),
-            default=sys.stdin, help="The trace list file (e.g. smpi_simgrid.txt)")
+                        default=sys.stdin, help="The trace list file (e.g. smpi_simgrid.txt)")
 
     parser.add_argument('--output_path', '-o', default="converted_traces",
-            help="The path where converted traces will be put")
+                        help="The path where converted traces will be put")
 
     args = parser.parse_args()
 
@@ -96,7 +100,7 @@ if __name__ == "__main__":
 
     # creates results dir
     pathlib.Path(args.output_path).mkdir(
-            parents=True, exist_ok=True)
+        parents=True, exist_ok=True)
 
     # copy trace list file
     try:
@@ -106,7 +110,6 @@ if __name__ == "__main__":
               "Please, select another output path")
         sys.exit(-1)
 
-
     with open(trace_list_file_path) as tracelist_file:
         trace_list = tracelist_file.readlines()