12 #ifndef SSTMAC_SOFTWARE_LIBRARIES_COMPUTE_LIB_COMPUTE_LOOPS_H_INCLUDED 13 #define SSTMAC_SOFTWARE_LIBRARIES_COMPUTE_LIB_COMPUTE_LOOPS_H_INCLUDED 34 template<
typename Type>
67 long long loop = to1 - from1 + 1;
84 long long to2, T numlines) {
86 long long loop1 = to1 - from1 + 1;
87 long long loop2 = to2 - from2 + 1;
88 long long loop = loop1 * loop2;
107 long long to2,
long long from3,
long long to3, T numlines) {
109 long long loop1 = to1 - from1 + 1;
110 long long loop2 = to2 - from2 + 1;
111 long long loop3 = to3 - from3 + 1;
112 long long loop = loop1 * loop2 * loop3;
126 long long to2,
long long from3,
long long to3,
long long from4,
127 long long to4, T numlines) {
129 long long loop1 = to1 - from1 + 1;
130 long long loop2 = to2 - from2 + 1;
131 long long loop3 = to3 - from3 + 1;
132 long long loop4 = to4 - from4 + 1;
133 long long loop = loop1 * loop2 * loop3 * loop4;
157 long long to2,
long long from3,
long long to3,
long long from4,
158 long long to4,
long long from5,
long long to5, T numlines) {
160 long long loop1 = to1 - from1 + 1;
161 long long loop2 = to2 - from2 + 1;
162 long long loop3 = to3 - from3 + 1;
163 long long loop4 = to4 - from4 + 1;
164 long long loop5 = to5 - from5 + 1;
165 long long loop = loop1 * loop2 * loop3 * loop4 * loop5;
190 long long to2,
long long from3,
long long to3,
long long from4,
191 long long to4,
long long from5,
long long to5,
long long from6,
192 long long to6, T numlines) {
194 long long loop1 = to1 - from1 + 1;
195 long long loop2 = to2 - from2 + 1;
196 long long loop3 = to3 - from3 + 1;
197 long long loop4 = to4 - from4 + 1;
198 long long loop5 = to5 - from5 + 1;
199 long long loop6 = to6 - from6 + 1;
200 long loop = loop1 * loop2 * loop3 * loop4 * loop5 * loop6;
227 long long to2,
long long from3,
long long to3,
long long from4,
228 long long to4,
long long from5,
long long to5,
long long from6,
229 long long to6,
long long from7,
long long to7, T numlines) {
231 long long loop1 = to1 - from1 + 1;
232 long long loop2 = to2 - from2 + 1;
233 long long loop3 = to3 - from3 + 1;
234 long long loop4 = to4 - from4 + 1;
235 long long loop5 = to5 - from5 + 1;
236 long long loop6 = to6 - from6 + 1;
237 long long loop7 = to7 - from7 + 1;
238 long long loop = loop1 * loop2 * loop3 * loop4 * loop5 * loop6
void compute_loop4(long long from1, long long to1, long long from2, long long to2, long long from3, long long to3, long long from4, long long to4, T numlines)
compute_loop4 - compute for quadruple nested loop
static double flop_line_ratio_
void compute_array_init(long arraysize)
void compute_loop2(long long from1, long long to1, long long from2, long long to2, T numlines)
compute_loop2 - compute for one loop nested in an outer one
lib_compute_loops(software_id id)
void compute_loop5(long long from1, long long to1, long long from2, long long to2, long long from3, long long to3, long long from4, long long to4, long long from5, long long to5, T numlines)
compute_loop5 - compute for 5-nested loop
void compute_loop_work(long long loop, double numlines)
void compute_loop(long long from1, long long to1, T numlines)
compute_loop - compute and schedule a for loop's costs as moving Nm bytes and doing Nf flops...
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
void compute_loop3(long long from1, long long to1, long long from2, long long to2, long long from3, long long to3, T numlines)
compute_loop3 - compute for one loop nested in loop nested in an outer one
void consume_params(sprockit::sim_parameters *params)
virtual ~lib_compute_loops()
void compute_loop7(long long from1, long long to1, long long from2, long long to2, long long from3, long long to3, long long from4, long long to4, long long from5, long long to5, long long from6, long long to6, long long from7, long long to7, T numlines)
compute_loop6 - compute for 6-nested loop
void compute_loop6(long long from1, long long to1, long long from2, long long to2, long long from3, long long to3, long long from4, long long to4, long long from5, long long to5, long long from6, long long to6, T numlines)
compute_loop6 - compute for 6-nested loop
static double mem_line_ratio_
A wrapper for an appid, taskid pair.