SST/macro
packet_flow_param_expander.h
Go to the documentation of this file.
1 #ifndef PACKET_FLOW_PARAM_EXPANDER_H
2 #define PACKET_FLOW_PARAM_EXPANDER_H
3 
5 
6 namespace sstmac {
7 namespace hw {
8 
10  public param_expander
11 {
12  public:
13  std::string
14  to_string() const {
15  return "packet flow param expander";
16  }
17 
18  virtual void
19  expand(sprockit::sim_parameters* params);
20 
21  private:
22  void expand_amm1_nic(sprockit::sim_parameters* params, sprockit::sim_parameters* nic_params);
23 
24  void expand_amm1_network(sprockit::sim_parameters* params,
25  sprockit::sim_parameters* switch_params,
26  int packet_size, bool set_xbar);
27 
28  void expand_amm1_memory(sprockit::sim_parameters* params, sprockit::sim_parameters* mem_params);
29 
30  void expand_amm2_memory(sprockit::sim_parameters* params, sprockit::sim_parameters* mem_params);
31 
32  void expand_amm3_network(sprockit::sim_parameters* params,
33  sprockit::sim_parameters* switch_params,
34  int packet_size);
35 
36  void expand_amm4_nic(sprockit::sim_parameters* params,
37  sprockit::sim_parameters* top_params,
38  sprockit::sim_parameters* nic_params);
39 
40  void expand_amm4_network(sprockit::sim_parameters* params, sprockit::sim_parameters* top_params,
41  sprockit::sim_parameters* nic_params, int packet_size);
42 
43  private:
44  double switch_bandwidth_multiplier(sprockit::sim_parameters *params) const {
45  if (tiled_switch_){
46  return 1.0;
47  } else {
49  }
50  }
51 
52  int switch_buffer_multiplier(sprockit::sim_parameters *params) const {
53  if (tiled_switch_){
54  return 1;
55  } else {
57  }
58  }
59 
60  double network_bandwidth_multiplier(sprockit::sim_parameters *params) const {
61  if (tiled_switch_){
62  return 1.0;
63  } else {
65  }
66  }
67 
69 
71 
72 };
73 
74 }
75 }
76 
77 #endif // PACKET_FLOW_PARAM_EXPANDER_H
void expand_amm1_memory(sprockit::sim_parameters *params, sprockit::sim_parameters *mem_params)
void expand_amm2_memory(sprockit::sim_parameters *params, sprockit::sim_parameters *mem_params)
virtual double network_bandwidth_multiplier(sprockit::sim_parameters *params) const
void expand_amm1_network(sprockit::sim_parameters *params, sprockit::sim_parameters *switch_params, int packet_size, bool set_xbar)
virtual int switch_buffer_multiplier(sprockit::sim_parameters *params) const
int switch_buffer_multiplier(sprockit::sim_parameters *params) const
double network_bandwidth_multiplier(sprockit::sim_parameters *params) const
void expand_amm4_network(sprockit::sim_parameters *params, sprockit::sim_parameters *top_params, sprockit::sim_parameters *nic_params, int packet_size)
double switch_bandwidth_multiplier(sprockit::sim_parameters *params) const
void expand_amm3_network(sprockit::sim_parameters *params, sprockit::sim_parameters *switch_params, int packet_size)
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
virtual double switch_bandwidth_multiplier(sprockit::sim_parameters *params) const
void expand_amm1_nic(sprockit::sim_parameters *params, sprockit::sim_parameters *nic_params)
void expand_amm4_nic(sprockit::sim_parameters *params, sprockit::sim_parameters *top_params, sprockit::sim_parameters *nic_params)
virtual void expand(sprockit::sim_parameters *params)