• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

sst/elements/patterns/src_genPatterns/sst_gen.h

00001 /*
00002 ** $Id: sst_gen.h,v 1.9 2010/04/27 23:17:19 rolf Exp $
00003 **
00004 ** Rolf Riesen, March 2010, Sandia National Laboratories
00005 **
00006 */
00007 #ifndef _SST_GEN_H_
00008 #define _SST_GEN_H_
00009 
00010 #include <stdio.h>
00011 #include <stdint.h>
00012 #include "gen.h"
00013 
00014 
00015 #define RNAME_NETWORK           "Rnet"
00016 #define RNAME_NoC               "RNoC"
00017 #define RNAME_NET_ACCESS        "RnetPort"
00018 #define RNAME_NVRAM             "Rnvram"
00019 #define RNAME_STORAGE           "Rstorage"
00020 #define RNAME_IO                "RstoreIO"
00021 
00022 
00023 typedef enum {pwrNone, pwrMcPAT, pwrORION} pwr_method_t;
00024 
00025 void sst_header(FILE *sstfile);
00026 void sst_footer(FILE *dotfile);
00027 
00028 void sst_router_param_start(FILE *sstfile, char *Rname, int num_ports, uint64_t router_bw,
00029         int num_cores, int hop_delay, int wormhole, pwr_method_t power_method);
00030 void sst_router_param_end(FILE *sstfile, char *Rname);
00031 
00032 void sst_gen_param_start(FILE *sstfile, int gen_debug);
00033 void sst_gen_param_entries(FILE *sstfile, int x_dim, int y_dim, int NoC_x_dim, int NoC_y_dim,
00034         int cores, uint64_t net_lat,
00035         uint64_t net_bw, uint64_t node_lat, uint64_t node_bw, uint64_t compute_time,
00036         uint64_t app_time, int msg_len, char *method,
00037         uint64_t chckpt_interval, int envelope_size, int chckpt_size);
00038 void sst_gen_param_end(FILE *sstfile, uint64_t node_latency, uint64_t net_latency);
00039 
00040 void sst_pwr_param_entries(FILE *sstfile, pwr_method_t power_method);
00041 void sst_pwr_component(FILE *sstfile, pwr_method_t power_method);
00042 
00043 void sst_body_end(FILE *sstfile);
00044 void sst_body_start(FILE *sstfile);
00045 
00046 void sst_router_component_start(char *id, float weight, char *cname, router_function_t role,
00047         FILE *sstfile);
00048 void sst_router_component_end(FILE *sstfile);
00049 void sst_router_component_link(char *id, uint64_t link_lat, char *link_name, FILE *sstfile);
00050 
00051 void sst_gen_component(char *id, char *net_link_id, char *net_aggregator_id,
00052         char *nvram_aggregator_id, char *ss_aggregator_id, float weight,
00053         int rank, char *pattern_name, FILE *sstfile);
00054 void sst_pattern_generators(char *pattern_name, FILE *sstfile);
00055 void sst_nvram_component(char *id, char *link_id, float weight, nvram_type_t type, FILE *sstfile);
00056 void sst_nvram_param_entries(FILE *sstfile, int nvram_read_bw, int nvram_write_bw,
00057         int ssd_read_bw, int ssd_write_bw);
00058 void sst_nvram(FILE *sstfile);
00059 void sst_routers(FILE *sstfile, uint64_t node_latency, uint64_t net_latency,
00060         uint64_t nvram_latency, pwr_method_t power_method);
00061 
00062 #endif /* _SST_GEN_H_ */

Generated on Fri Oct 22 2010 11:02:25 for SST by  doxygen 1.7.1