SST/macro
parsedumpi.h
Go to the documentation of this file.
1 /*
2  * This file is part of SST/macroscale:
3  * The macroscale architecture simulator from the SST suite.
4  * Copyright (c) 2009 Sandia Corporation.
5  * This software is distributed under the BSD License.
6  * Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
7  * the U.S. Government retains certain rights in this software.
8  * For more information, see the LICENSE file in the top
9  * SST/macroscale directory.
10  */
11 
12 #ifndef SSTMAC_SOFTWARE_SKELETONS_UNDUMPI_PARSEDUMPI_H_INCLUDED
13 #define SSTMAC_SOFTWARE_SKELETONS_UNDUMPI_PARSEDUMPI_H_INCLUDED
14 
16 #include <sumi-mpi/mpi_api_fwd.h>
17 #include <sumi-mpi/mpi_comm/mpi_comm_fwd.h>
20 
21 namespace sumi {
22 
23 /**
24  * A refactored dumpi parser to read the newer binary-format dumpi
25  * trace files. Discards support for older-style ascii-based
26  * files since nobody was using those except us anyway.
27  *
28  * TODO: Fix this to read the metafile rather than the trace files directly
29  * (would avoid hack needed where MPI world size is smaller than the total
30  * cores allocated to the job).
31  */
33 {
34  friend class parsedumpi_unit_test;
35  friend class parsedumpi_callbacks;
36 
37  public:
38  parsedumpi() : mpi_(0) {}
39 
40  /// Wait! That's not good news at all!
41  virtual
42  ~parsedumpi() throw ();
43 
44  /// IT'S AN ADDAMS!
45  app*
46  clone_type() const {
47  return new parsedumpi;
48  }
49 
50  mpi_api* mpi();
51 
52  virtual void
53  consume_params(sprockit::sim_parameters* params);
54 
55  /// Parse the tracefile.
56  virtual void
57  skeleton_main();
58 
59  virtual std::string
60  to_string() const {
61  return "parsedumpi";
62  }
63 
64  private:
65  /// The fileroot we plan to parse.
66  std::string fileroot_;
67 
68  /// The time scaling factor.
69  double timescaling_;
70 
71  mpi_api* mpi_;
72 
74 
76 
77  std::string metafilename_;
78 
79 
80 };
81 
82 }
83 
84 #endif // ! SSTMAC_SOFTWARE_SKELETONS_UNDUMPI_PARSEDUMPI_H_INCLUDED
85 
virtual void skeleton_main()
Parse the tracefile.
virtual ~parsedumpi()
Wait! That&#39;s not good news at all!
std::string metafilename_
Definition: parsedumpi.h:77
double timescaling_
The time scaling factor.
Definition: parsedumpi.h:69
bool print_progress_
Definition: parsedumpi.h:73
mpi_api * mpi_
Definition: parsedumpi.h:71
The app derived class adds to the thread base class by providing facilities to allow applications to ...
Definition: app.h:55
double percent_terminate_
Definition: parsedumpi.h:75
sprockit::sim_parameters * params() const
Definition: app.h:150
A refactored dumpi parser to read the newer binary-format dumpi trace files.
Definition: parsedumpi.h:32
Definition: sumi.h:14
virtual void consume_params(sprockit::sim_parameters *params)
friend class parsedumpi_unit_test
Definition: parsedumpi.h:34
mpi_api * mpi()
app * clone_type() const
IT&#39;S AN ADDAMS!
Definition: parsedumpi.h:46
Populate C-style callbacks for a libundumpi parser.
std::string fileroot_
The fileroot we plan to parse.
Definition: parsedumpi.h:66
virtual std::string to_string() const
Definition: parsedumpi.h:60