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 }
152 } 152 }
153 fprintf(stderr, "time for field stressmark = %f seconds.\n", 153 fprintf(stderr, "time for field stressmark = %f seconds.\n",
diff --git a/dis/Matrix/ver2/matrix.c b/dis/Matrix/ver2/matrix.c
index 5162579..9d9ac7e 100755
--- a/dis/Matrix/ver2/matrix.c
+++ b/dis/Matrix/ver2/matrix.c
@@ -551,8 +551,10 @@ int main(int argc, char **argv) {
551 sum += sum + *(vectorX + k); 551 sum += sum + *(vectorX + k);
552 } 552 }
553 553
554 fprintf(stdout, "sum = %f, actualError = %e, actualIteration = %d\n", sum, 554 //fprintf(stdout, "sum = %f, actualError = %e, actualIteration = %d\n", sum,
555 actualError, actualIteration); 555 // actualError, actualIteration);
556 volatile double _stop_optimizer = sum + actualError + actualIteration;
557
556 fprintf(stderr, "time for matrix stressmark = %f seconds.\n", 558 fprintf(stderr, "time for matrix stressmark = %f seconds.\n",
557 difftime(endTime, beginTime)); 559 difftime(endTime, beginTime));
558 560
diff --git a/dis/Neighborhood/neighborhood.c b/dis/Neighborhood/neighborhood.c
index 2d401d3..ea1c658 100644
--- a/dis/Neighborhood/neighborhood.c
+++ b/dis/Neighborhood/neighborhood.c
@@ -74,23 +74,30 @@ int main(int argc, char **argv) {
74 endTime = time(NULL); 74 endTime = time(NULL);
75 WRITE_TO_FILE 75 WRITE_TO_FILE
76 76
77 // printf(" end time is %d\n", endTime); 77 volatile double _stop_optimizer = values.distShort.deg0.entropy
78 + values.distShort.deg0.energy + values.distShort.deg45.entropy
79 + values.distShort.deg45.energy + values.distShort.deg90.entropy
80 + values.distShort.deg90.energy + values.distShort.deg135.entropy
81 + values.distShort.deg135.energy + values.distLong.deg0.entropy
82 + values.distLong.deg0.energy + values.distShort.deg45.entropy
83 + values.distLong.deg45.energy + values.distLong.deg90.entropy
84 + values.distLong.deg90.energy + values.distLong.deg135.entropy
85 + values.distLong.deg135.energy;
86 //fprintf(stdout, "%9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e",
87 // values.distShort.deg0.entropy, values.distShort.deg0.energy,
88 // values.distShort.deg45.entropy, values.distShort.deg45.energy,
89 // values.distShort.deg90.entropy, values.distShort.deg90.energy,
90 // values.distShort.deg135.entropy, values.distShort.deg135.energy);
78 91
79 fprintf(stdout, "%9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e", 92 //fprintf(stdout, "%9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e",
80 values.distShort.deg0.entropy, values.distShort.deg0.energy, 93 // values.distLong.deg0.entropy, values.distLong.deg0.energy,
81 values.distShort.deg45.entropy, values.distShort.deg45.energy, 94 // values.distShort.deg45.entropy, values.distLong.deg45.energy,
82 values.distShort.deg90.entropy, values.distShort.deg90.energy, 95 // values.distLong.deg90.entropy, values.distLong.deg90.energy,
83 values.distShort.deg135.entropy, values.distShort.deg135.energy); 96 // values.distLong.deg135.entropy, values.distLong.deg135.energy);
84
85 fprintf(stdout, "%9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e %9.4e",
86 values.distLong.deg0.entropy, values.distLong.deg0.energy,
87 values.distShort.deg45.entropy, values.distLong.deg45.energy,
88 values.distLong.deg90.entropy, values.distLong.deg90.energy,
89 values.distLong.deg135.entropy, values.distLong.deg135.energy);
90 97
91 fprintf(stderr, "time for neghborhood stressmark = %f seconds.\n", 98 fprintf(stderr, "time for neghborhood stressmark = %f seconds.\n",
92 difftime(endTime, beginTime)); 99 difftime(endTime, beginTime));
93 100
94 free((Pixel *)image); 101 free((Pixel *)image);
95 return (SUCCESS); 102 return (0);
96} 103}
diff --git a/dis/Pointer/pointer.c b/dis/Pointer/pointer.c
index d97f276..0325c64 100644
--- a/dis/Pointer/pointer.c
+++ b/dis/Pointer/pointer.c
@@ -146,10 +146,11 @@ int main(int argc, char **argv) {
146 146
147 endTime = time(NULL); 147 endTime = time(NULL);
148 148
149 volatile int _stop_optimizer = thread[l].hops + l; 149 volatile int _stop_optimizer = 0;
150 /*for (l=0; l<n; l++){ 150 for (l=0; l<n; l++){
151 fprintf(stdout, "%lu hops on thread %d\n", thread[l].hops, l); 151 _stop_optimizer += thread[l].hops + l;
152 }*/ 152 // fprintf(stdout, "%lu hops on thread %d\n", thread[l].hops, l);
153 }
153 154
154 fprintf(stderr, "time for pointer stressmark = %f seconds.\n", 155 fprintf(stderr, "time for pointer stressmark = %f seconds.\n",
155 difftime(endTime, startTime)); 156 difftime(endTime, startTime));
diff --git a/dis/Transitive/transitive.c b/dis/Transitive/transitive.c
index 9337aad..0679f7e 100644
--- a/dis/Transitive/transitive.c
+++ b/dis/Transitive/transitive.c
@@ -47,7 +47,6 @@ int main(int argc, char **argv) {
47 47
48 time_t startTime, stopTime; 48 time_t startTime, stopTime;
49 unsigned int sum; 49 unsigned int sum;
50 volatile int realRes = 0;
51 50
52 assert(fscanf(stdin, "%d %d %d", &n, &m, &seed) == 3); 51 assert(fscanf(stdin, "%d %d %d", &n, &m, &seed) == 3);
53 52
@@ -100,14 +99,15 @@ int main(int argc, char **argv) {
100 99
101 stopTime = time(NULL); 100 stopTime = time(NULL);
102 101
102 volatile int _stop_optimizer = 0;
103 for (j = 0; j < n; j++) { 103 for (j = 0; j < n; j++) {
104 sum = 0; 104 sum = 0;
105 for (i = 0; i < n; i++) { 105 for (i = 0; i < n; i++) {
106 if (*(din + j * n + i) != NO_PATH) 106 if (*(din + j * n + i) != NO_PATH)
107 sum += *(din + j * n + i); 107 sum += *(din + j * n + i);
108 } 108 }
109 realRes += sum; 109 _stop_optimizer += sum;
110 // fprintf(stdout, "%u ", sum); 110 //fprintf(stdout, "%u ", sum);
111 } 111 }
112 for (i = 0; i < n; i++) { 112 for (i = 0; i < n; i++) {
113 sum = 0; 113 sum = 0;
@@ -115,8 +115,8 @@ int main(int argc, char **argv) {
115 if (*(din + j * n + i) != NO_PATH) 115 if (*(din + j * n + i) != NO_PATH)
116 sum += *(din + j * n + i); 116 sum += *(din + j * n + i);
117 } 117 }
118 realRes += sum; 118 _stop_optimizer += sum;
119 // fprintf(stdout, "%u ", sum); 119 //fprintf(stdout, "%u ", sum);
120 } 120 }
121 fprintf(stderr, "time for transitive stressmark = %f seconds.\n", 121 fprintf(stderr, "time for transitive stressmark = %f seconds.\n",
122 difftime(stopTime, startTime)); 122 difftime(stopTime, startTime));
diff --git a/dis/Update/update.c b/dis/Update/update.c
index b7bf2b5..a41f3e1 100644
--- a/dis/Update/update.c
+++ b/dis/Update/update.c
@@ -134,10 +134,10 @@ int main(int argc, char **argv) {
134 endTime = time(NULL); 134 endTime = time(NULL);
135 135
136 volatile int _stop_optimizer = hops; 136 volatile int _stop_optimizer = hops;
137 // fprintf(stdout, "%u hops\n", hops); 137 //fprintf(stdout, "%u hops\n", hops);
138 fprintf(stderr, "time for update stressmark = %f seconds.\n", 138 fprintf(stderr, "time for update stressmark = %f seconds.\n",
139 difftime(endTime, startTime)); 139 difftime(endTime, startTime));
140 free(field); 140 free(field);
141 WRITE_TO_FILE 141 WRITE_TO_FILE
142 return (1); 142 return (0);
143} 143}
diff --git a/baseline/run_baseline.sh b/run_bench.sh
index c5b67b6..c5b67b6 100755
--- a/baseline/run_baseline.sh
+++ b/run_bench.sh