SST/macro
launch_event.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_LIBRARIES_LAUNCH_MESSAGES_LAUNCH_MESSAGE_H_INCLUDED
13 #define SSTMAC_SOFTWARE_LIBRARIES_LAUNCH_MESSAGES_LAUNCH_MESSAGE_H_INCLUDED
14 
20 
21 namespace sstmac {
22 namespace sw {
23 
24 class launch_event :
25  public event,
26  public library_interface,
27  public timed_interface
28 {
30 
31  public:
32  launch_event(app* apptype,
33  app_id aid,
34  task_id tid,
35  const std::vector<int>& core_affinities) :
38  tid_(tid),
39  aid_(aid),
40  apptype_(apptype),
41  core_affinities_(core_affinities)
42  {
43  }
44 
45  /**
46  * Stringifier
47  * @return String description
48  */
49  virtual std::string
50  to_string() const {
51  return "launch event";
52  }
53 
54  task_id
55  tid() const {
56  return tid_;
57  }
58 
59  app_id
60  aid() const {
61  return aid_;
62  }
63 
64  app*
65  app_template() const {
66  return apptype_;
67  }
68 
69  int
70  core_affinity(int intranode_rank) const;
71 
72  protected:
76  std::vector<int> core_affinities_;
77 };
78 
79 }
80 }
81 
82 #endif
83 
The library_interface class provides a castable type that stores a library id (std::string) for mappi...
std::vector< int > core_affinities_
Definition: launch_event.h:76
app * app_template() const
Definition: launch_event.h:65
task_id tid() const
Definition: launch_event.h:55
app_id aid() const
Definition: launch_event.h:60
int core_affinity(int intranode_rank) const
The app derived class adds to the thread base class by providing facilities to allow applications to ...
Definition: app.h:55
int task_id
Definition: task_id.h:20
virtual std::string to_string() const
Stringifier.
Definition: launch_event.h:50
A basic container for time (subject to future transplant).
Definition: timestamp.h:29
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
NotSerializable(launch_event) public
Definition: launch_event.h:29
A launcher that can be cooperatively scheduled by a very naive scheduler.
Definition: launcher.h:24
int app_id
Definition: app_id.h:20