summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--all_pairs/source/epic/epic.c25
-rw-r--r--all_pairs/source/rijndael_enc/rijndael_enc.c24
-rw-r--r--baseline/source/epic/epic.c25
-rw-r--r--baseline/source/rijndael_enc/rijndael_enc.c24
-rw-r--r--dis/Field/field.c14
-rwxr-xr-xdis/Matrix/ver2/matrix.c6
-rw-r--r--dis/Neighborhood/neighborhood.c33
-rw-r--r--dis/Pointer/pointer.c9
-rw-r--r--dis/Transitive/transitive.c10
-rw-r--r--dis/Update/update.c4
-rwxr-xr-xrun_bench.sh (renamed from baseline/run_baseline.sh)0
11 files changed, 103 insertions, 71 deletions
<
diff --git a/all_pairs/source/epic/epic.c b/all_pairs/source/epic/epic.c
index a1e344c..ed08040 100644
--- a/all_pairs/source/epic/epic.c
+++ b/all_pairs/source/epic/epic.c
@@ -598,7 +598,7 @@ void epic_main( void );
598 Declaration of global variables 598 Declaration of global variables
599*/ 599*/
600 600
601float epic_filtertemp[FILTER_SIZE]; 601float epic_filtertemp[FILTER_SIZE*2]; // *2 to work around memory corruption issue
602float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; 602float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2];
603float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; 603float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2];
604 604
@@ -1129,13 +1129,18 @@ int epic_return(){
1129 1129
1130int main( int argc, char **argv ) 1130int main( int argc, char **argv )
1131{ 1131{
1132 SET_UP 1132 int exit_code = -1;
1133 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 1133 SET_UP
1134 START_LOOP 1134 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
1135 epic_init(); 1135 START_LOOP
1136 epic_main(); 1136 epic_init();
1137 STOP_LOOP 1137 epic_main();
1138 } 1138 // This checks the checksum is as expected.
1139 WRITE_TO_FILE 1139 // This is `&` as only the first job will match
1140 return epic_return(); 1140 // (image state persists between jobs).
1141 exit_code &= epic_return();
1142 STOP_LOOP
1143 }
1144 WRITE_TO_FILE
1145 return exit_code;
1141} 1146}
diff --git a/all_pairs/source/rijndael_enc/rijndael_enc.c b/all_pairs/source/rijndael_enc/rijndael_enc.c
index 6c85eee..21d7e67 100644
--- a/all_pairs/source/rijndael_enc/rijndael_enc.c
+++ b/all_pairs/source/rijndael_enc/rijndael_enc.c
@@ -68,6 +68,7 @@ void rijndael_enc_init( void )
68 rijndael_enc_fin.data = rijndael_enc_data; 68 rijndael_enc_fin.data = rijndael_enc_data;
69 rijndael_enc_fin.size = 31369; 69 rijndael_enc_fin.size = 31369;
70 rijndael_enc_fin.cur_pos = 0; 70 rijndael_enc_fin.cur_pos = 0;
71 rijndael_enc_checksum = 0;
71 72
72 unsigned i; 73 unsigned i;
73 volatile int x = 0; 74 volatile int x = 0;
@@ -225,14 +226,19 @@ void _Pragma( "entrypoint" ) rijndael_enc_main( void )
225 226
226int main( int argc, char** argv ) 227int main( int argc, char** argv )
227{ 228{
228 SET_UP 229 int exit_code = -1;
229 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 230 SET_UP
230 START_LOOP 231 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
231 rijndael_enc_init(); 232 START_LOOP
232 rijndael_enc_main(); 233 rijndael_enc_init();
233 STOP_LOOP 234 rijndael_enc_main();
234 } 235 // This checks the checksum is as expected.
235 WRITE_TO_FILE 236 // This is `&` as only the first job will match
236 return ( rijndael_enc_return() ); 237 // (PRNG state persists between jobs).
238 exit_code &= rijndael_enc_return();
239 STOP_LOOP
240 }
241 WRITE_TO_FILE
242 return ( exit_code );
237} 243}
238 244
diff --git a/baseline/source/epic/epic.c b/baseline/source/epic/epic.c
index a1e344c..ed08040 100644
--- a/baseline/source/epic/epic.c
+++ b/baseline/source/epic/epic.c
@@ -598,7 +598,7 @@ void epic_main( void );
598 Declaration of global variables 598 Declaration of global variables
599*/ 599*/
600 600
601float epic_filtertemp[FILTER_SIZE]; 601float epic_filtertemp[FILTER_SIZE*2]; // *2 to work around memory corruption issue
602float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; 602float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2];
603float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; 603float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2];
604 604
@@ -1129,13 +1129,18 @@ int epic_return(){
1129 1129
1130int main( int argc, char **argv ) 1130int main( int argc, char **argv )
1131{ 1131{
1132 SET_UP 1132 int exit_code = -1;
1133 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 1133 SET_UP
1134 START_LOOP 1134 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
1135 epic_init(); 1135 START_LOOP
1136 epic_main(); 1136 epic_init();
1137 STOP_LOOP 1137 epic_main();
1138 } 1138 // This checks the checksum is as expected.
1139 WRITE_TO_FILE 1139 // This is `&` as only the first job will match
1140 return epic_return(); 1140 // (image state persists between jobs).
1141 exit_code &= epic_return();
1142 STOP_LOOP
1143 }
1144 WRITE_TO_FILE
1145 return exit_code;
1141} 1146}
diff --git a/baseline/source/rijndael_enc/rijndael_enc.c b/baseline/source/rijndael_enc/rijndael_enc.c
index 6c85eee..21d7e67 100644
--- a/baseline/source/rijndael_enc/rijndael_enc.c
+++ b/baseline/source/rijndael_enc/rijndael_enc.c
@@ -68,6 +68,7 @@ void rijndael_enc_init( void )
68 rijndael_enc_fin.data = rijndael_enc_data; 68 rijndael_enc_fin.data = rijndael_enc_data;
69 rijndael_enc_fin.size = 31369; 69 rijndael_enc_fin.size = 31369;
70 rijndael_enc_fin.cur_pos = 0; 70 rijndael_enc_fin.cur_pos = 0;
71 rijndael_enc_checksum = 0;
71 72
72 unsigned i; 73 unsigned i;
73 volatile int x = 0; 74 volatile int x = 0;
@@ -225,14 +226,19 @@ void _Pragma( "entrypoint" ) rijndael_enc_main( void )
225 226
226int main( int argc, char** argv ) 227int main( int argc, char** argv )
227{ 228{
228 SET_UP 229 int exit_code = -1;
229 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){ 230 SET_UP
230 START_LOOP 231 for (jobsComplete=0; jobsComplete<maxJobs; jobsComplete++){
231 rijndael_enc_init(); 232 START_LOOP
232 rijndael_enc_main(); 233 rijndael_enc_init();
233 STOP_LOOP 234 rijndael_enc_main();
234 } 235 // This checks the checksum is as expected.
235 WRITE_TO_FILE 236 // This is `&` as only the first job will match
236 return ( rijndael_enc_return() ); 237 // (PRNG state persists between jobs).
238 exit_code &= rijndael_enc_return();
239 STOP_LOOP
240 }
241 WRITE_TO_FILE
242 return ( exit_code );
237} 243}
238 244
diff --git a/dis/Field/field.c b/dis/Field/field.c
index 900d47b..d028ee7 100644
--- a/dis/Field/field.c
+++ b/dis/Field/field.c
@@ -137,17 +137,17 @@ int main(int argc, char **argv) {
137 } 137 }
138 endTime = time(NULL); 138 endTime = time(NULL);
139 139
140 volatile int sumAll = 0; 140 volatile int _stop_optimizer = 0;
141 for (l = 0; l < n; l++) { 141 for (l = 0; l < n; l++) {
142 unsigned int ll; 142 unsigned int ll;
143 // fprintf(stdout, "%d subfields for token %d \n", token[l].subfields, l); 143 //fprintf(stdout, "%d subfields for token %d \n", token[l].subfields, l);
144 sumAll += token[l].subfields + l; 144 _stop_optimizer += token[l].subfields + l;
145 for (ll = 0; ll < token[l].subfields; ll++) { 145 for (ll = 0; ll < token[l].subfields; ll++) {
146 sumAll += ll + token[l].stat[ll].count + token[l].stat[ll].min + 146 _stop_optimizer += ll + token[l].stat[ll].count + token[l].stat[ll].min +
147 token[l].stat[ll].sum; 147 token[l].stat[ll].sum;
148 /*fprintf(stdout, "subfields %d:\tcount = %d\tmin= %x\tsum= %x\n", 148 //fprintf(stdout, "subfields %d:\tcount = %d\tmin= %x\tsum= %x\n",
149 ll, token[l].stat[ll].count, 149 // ll, token[l].stat[ll].count,
150 token[l].stat[ll].min, token[l].stat[ll].sum);*/ 150 // token[l].stat[ll].min, token[l].stat[ll].sum);*/
151 } 151 }