diff options
-rw-r--r-- | all_pairs/source/epic/epic.c | 25 | ||||
-rw-r--r-- | all_pairs/source/rijndael_enc/rijndael_enc.c | 24 | ||||
-rw-r--r-- | baseline/source/epic/epic.c | 25 | ||||
-rw-r--r-- | baseline/source/rijndael_enc/rijndael_enc.c | 24 | ||||
-rw-r--r-- | dis/Field/field.c | 14 | ||||
-rwxr-xr-x | dis/Matrix/ver2/matrix.c | 6 | ||||
-rw-r--r-- | dis/Neighborhood/neighborhood.c | 33 | ||||
-rw-r--r-- | dis/Pointer/pointer.c | 9 | ||||
-rw-r--r-- | dis/Transitive/transitive.c | 10 | ||||
-rw-r--r-- | dis/Update/update.c | 4 | ||||
-rwxr-xr-x | run_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 | ||
601 | float epic_filtertemp[FILTER_SIZE]; | 601 | float epic_filtertemp[FILTER_SIZE*2]; // *2 to work around memory corruption issue |
602 | float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; | 602 | float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; |
603 | float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; | 603 | float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; |
604 | 604 | ||
@@ -1129,13 +1129,18 @@ int epic_return(){ | |||
1129 | 1129 | ||
1130 | int main( int argc, char **argv ) | 1130 | int 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 | ||
226 | int main( int argc, char** argv ) | 227 | int 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 | ||
601 | float epic_filtertemp[FILTER_SIZE]; | 601 | float epic_filtertemp[FILTER_SIZE*2]; // *2 to work around memory corruption issue |
602 | float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; | 602 | float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; |
603 | float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; | 603 | float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; |
604 | 604 | ||
@@ -1129,13 +1129,18 @@ int epic_return(){ | |||
1129 | 1129 | ||
1130 | int main( int argc, char **argv ) | 1130 | int 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 | ||
226 | int main( int argc, char** argv ) | 227 | int 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 | |||