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", |
