summaryrefslogtreecommitdiffstats
path: root/baseline/source/epic/epic.c
diff options
context:
space:
mode:
authorJoshua Bakita <jbakita@cs.unc.edu>2020-10-20 13:35:52 -0400
committerJoshua Bakita <jbakita@cs.unc.edu>2020-10-20 13:41:49 -0400
commit03412b9f841f140b9b7410a1890298e3ac2835db (patch)
tree8417ed7fa548a571ab88f139da666787766740f3 /baseline/source/epic/epic.c
parent47ced4e96bbb782b9e780e8f2cfc637b2c21ff44 (diff)
TACLe and DIS benchmark fixes
- Use consistent approach to prevent computations from being optimized out in the DIS benchmarks - Don't print results in the DIS benchmarks - Fix a memory corruption in TACLe's "epic" benchmark reflect1() - Fix return codes for all benchmarks - Rename run_baseline.sh to run_bench.sh in preperation for this being the main benchmarking script
Diffstat (limited to 'baseline/source/epic/epic.c')
-rw-r--r--baseline/source/epic/epic.c25
1 files changed, 15 insertions, 10 deletions
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}