diff options
Diffstat (limited to 'all_pairs/source/epic/epic.c')
| -rw-r--r-- | all_pairs/source/epic/epic.c | 25 |
1 files changed, 15 insertions, 10 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 | } |
