From 03412b9f841f140b9b7410a1890298e3ac2835db Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Tue, 20 Oct 2020 13:35:52 -0400 Subject: 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 --- baseline/source/epic/epic.c | 25 +++++++++++++++---------- baseline/source/rijndael_enc/rijndael_enc.c | 24 +++++++++++++++--------- 2 files changed, 30 insertions(+), 19 deletions(-) (limited to 'baseline/source') 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 ); Declaration of global variables */ -float epic_filtertemp[FILTER_SIZE]; +float epic_filtertemp[FILTER_SIZE*2]; // *2 to work around memory corruption issue float epic_hi_imagetemp[X_SIZE * Y_SIZE / 2]; float epic_lo_imagetemp[X_SIZE * Y_SIZE / 2]; @@ -1129,13 +1129,18 @@ int epic_return(){ int main( int argc, char **argv ) { - SET_UP - for (jobsComplete=0; jobsComplete Date: Tue, 20 Oct 2020 16:26:25 -0400 Subject: Convert TACLeBench to use new libextra API No other changes. --- baseline/source/adpcm_dec/adpcm_dec.c | 4 +--- baseline/source/adpcm_enc/adpcm_enc.c | 4 +--- baseline/source/ammunition/ammunition.c | 4 +--- baseline/source/cjpeg_transupp/cjpeg_transupp.c | 4 +--- baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c | 4 +--- baseline/source/dijkstra/dijkstra.c | 4 +--- baseline/source/epic/epic.c | 4 +--- baseline/source/fmref/fmref.c | 4 +--- baseline/source/gsm_dec/gsm_dec.c | 4 +--- baseline/source/gsm_enc/gsm_enc.c | 4 +--- baseline/source/h264_dec/h264_dec.c | 4 +--- baseline/source/huff_enc/huff_enc.c | 4 +--- baseline/source/mpeg2/mpeg2.c | 4 +--- baseline/source/ndes/ndes.c | 4 +--- baseline/source/petrinet/petrinet.c | 4 +--- baseline/source/rijndael_dec/rijndael_dec.c | 4 +--- baseline/source/rijndael_enc/rijndael_enc.c | 4 +--- baseline/source/statemate/statemate.c | 4 +--- baseline/source/susan/susan.c | 4 +--- 19 files changed, 19 insertions(+), 57 deletions(-) (limited to 'baseline/source') diff --git a/baseline/source/adpcm_dec/adpcm_dec.c b/baseline/source/adpcm_dec/adpcm_dec.c index 368e98d..7994390 100644 --- a/baseline/source/adpcm_dec/adpcm_dec.c +++ b/baseline/source/adpcm_dec/adpcm_dec.c @@ -708,11 +708,9 @@ void _Pragma( "entrypoint" ) adpcm_dec_main( void ) int main(int argc, char **argv) { SET_UP - for (jobsComplete=0; jobsComplete Date: Tue, 20 Oct 2020 16:30:44 -0400 Subject: Fix the 4 TACLeBench members that would not loop before - anagram, audiobeam: Reset heap in _init() function - g723_enc: Don't use static local variables - huff_dec: Reset all global state in _init() function --- baseline/source/anagram/anagram.c | 10 +++---- baseline/source/anagram/anagram_stdlib.c | 5 ++++ baseline/source/anagram/anagram_stdlib.h | 2 ++ baseline/source/audiobeam/audiobeam.c | 12 ++++---- baseline/source/audiobeam/audiobeamlibmalloc.c | 7 ++++- baseline/source/audiobeam/audiobeamlibmalloc.h | 2 ++ baseline/source/g723_enc/g723_enc.c | 39 +++++++++++++------------- baseline/source/huff_dec/huff_dec.c | 12 ++++---- 8 files changed, 48 insertions(+), 41 deletions(-) (limited to 'baseline/source') diff --git a/baseline/source/anagram/anagram.c b/baseline/source/anagram/anagram.c index 5c1f29a..1061470 100644 --- a/baseline/source/anagram/anagram.c +++ b/baseline/source/anagram/anagram.c @@ -337,6 +337,8 @@ void anagram_ReadDict( void ) void anagram_init( void ) { + // Reset heap + anagram_free_all(); anagram_ReadDict(); } @@ -657,14 +659,10 @@ void _Pragma( "entrypoint" ) anagram_main( void ) int main(int argc, char **argv) { SET_UP - //int jobsComplete; - //int maxJobs=100; - //for(jobsComplete=0; jobsComplete= 8 ) { - out_byte = out_buffer & 0xff; - out_bits -= 8; - out_buffer >>= 8; + + g723_enc_out_buffer |= ( code << g723_enc_out_bits ); + g723_enc_out_bits += bits; + if ( g723_enc_out_bits >= 8 ) { + out_byte = g723_enc_out_buffer & 0xff; + g723_enc_out_bits -= 8; + g723_enc_out_buffer >>= 8; //fwrite(&out_byte, sizeof (char), 1, fp_out); //fwrite(&out_byte, 1, 1, fp_out); - g723_enc_OUTPUT[i] = out_byte; - i = i + 1; + g723_enc_OUTPUT[g723_enc_i] = out_byte; + g723_enc_i = g723_enc_i + 1; } - return ( out_bits > 0 ); + return ( g723_enc_out_bits > 0 ); } /* @@ -815,6 +815,9 @@ void g723_enc_init() { int i; volatile int x = 0; + g723_enc_out_buffer = 0; + g723_enc_out_bits = 0; + g723_enc_i = 0; g723_enc_init_state( &g723_enc_state ); _Pragma( "loopbound min 256 max 256" ) @@ -872,16 +875,12 @@ void _Pragma( "entrypoint" ) g723_enc_main() int main( int argc, char **argv ) { - //SET_UP - int jobsComplete; - int maxJobs=9; - for (jobsComplete=0; jobsComplete Date: Tue, 20 Oct 2020 17:10:14 -0400 Subject: Whitespace fixes for TACLeBench and copyright update in extra.h Also move run_all_dis.sh up a directory in preperation for further changes. --- baseline/source/adpcm_dec/adpcm_dec.c | 8 ++++---- baseline/source/adpcm_enc/adpcm_enc.c | 12 ++++++------ baseline/source/ammunition/ammunition.c | 12 ++++++------ baseline/source/anagram/anagram.c | 12 ++++++------ baseline/source/audiobeam/audiobeam.c | 14 +++++++------- baseline/source/cjpeg_transupp/cjpeg_transupp.c | 12 ++++++------ baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c | 14 +++++++------- baseline/source/dijkstra/dijkstra.c | 12 ++++++------ baseline/source/fmref/fmref.c | 12 ++++++------ baseline/source/g723_enc/g723_enc.c | 12 ++++++------ baseline/source/gsm_dec/gsm_dec.c | 12 ++++++------ baseline/source/gsm_enc/gsm_enc.c | 12 ++++++------ baseline/source/h264_dec/h264_dec.c | 12 ++++++------ baseline/source/huff_dec/huff_dec.c | 12 ++++++------ baseline/source/huff_enc/huff_enc.c | 12 ++++++------ baseline/source/mpeg2/mpeg2.c | 12 ++++++------ baseline/source/ndes/ndes.c | 12 ++++++------ baseline/source/petrinet/petrinet.c | 10 ++++------ baseline/source/rijndael_dec/rijndael_dec.c | 12 ++++++------ baseline/source/statemate/statemate.c | 12 ++++++------ baseline/source/susan/susan.c | 12 ++++++------ 21 files changed, 124 insertions(+), 126 deletions(-) (limited to 'baseline/source') diff --git a/baseline/source/adpcm_dec/adpcm_dec.c b/baseline/source/adpcm_dec/adpcm_dec.c index 7994390..0627c9c 100644 --- a/baseline/source/adpcm_dec/adpcm_dec.c +++ b/baseline/source/adpcm_dec/adpcm_dec.c @@ -709,9 +709,9 @@ int main(int argc, char **argv) { SET_UP for_each_job { - adpcm_dec_init(); - adpcm_dec_main(); -} -WRITE_TO_FILE + adpcm_dec_init(); + adpcm_dec_main(); + } + WRITE_TO_FILE return ( adpcm_dec_return() ); } diff --git a/baseline/source/adpcm_enc/adpcm_enc.c b/baseline/source/adpcm_enc/adpcm_enc.c index 661bcc6..118382f 100644 --- a/baseline/source/adpcm_enc/adpcm_enc.c +++ b/baseline/source/adpcm_enc/adpcm_enc.c @@ -746,11 +746,11 @@ void _Pragma( "entrypoint" ) adpcm_enc_main(void) int main(int argc, char **argv) { - SET_UP - for_each_job { - adpcm_enc_init(); - adpcm_enc_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + adpcm_enc_init(); + adpcm_enc_main(); + } + WRITE_TO_FILE return adpcm_enc_return(); } diff --git a/baseline/source/ammunition/ammunition.c b/baseline/source/ammunition/ammunition.c index 90e89d6..4ae488b 100644 --- a/baseline/source/ammunition/ammunition.c +++ b/baseline/source/ammunition/ammunition.c @@ -1173,11 +1173,11 @@ void _Pragma( "entrypoint" ) ammunition_main( void ) int main( int argc, char **argv ) { - SET_UP - for_each_job { - ammunition_init(); - ammunition_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + ammunition_init(); + ammunition_main(); + } + WRITE_TO_FILE return ( ammunition_return() ); } diff --git a/baseline/source/anagram/anagram.c b/baseline/source/anagram/anagram.c index 1061470..fc8b6a8 100644 --- a/baseline/source/anagram/anagram.c +++ b/baseline/source/anagram/anagram.c @@ -658,11 +658,11 @@ void _Pragma( "entrypoint" ) anagram_main( void ) int main(int argc, char **argv) { - SET_UP - for_each_job { - anagram_init(); - anagram_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + anagram_init(); + anagram_main(); + } + WRITE_TO_FILE return anagram_return(); } diff --git a/baseline/source/audiobeam/audiobeam.c b/baseline/source/audiobeam/audiobeam.c index 7d89f06..5f23daf 100644 --- a/baseline/source/audiobeam/audiobeam.c +++ b/baseline/source/audiobeam/audiobeam.c @@ -579,13 +579,13 @@ void _Pragma( "entrypoint" ) audiobeam_main( void ) int main( int argc, char **argv ) -{ - SET_UP - for_each_job { - audiobeam_init(); - audiobeam_main(); - } - WRITE_TO_FILE +{ + SET_UP + for_each_job { + audiobeam_init(); + audiobeam_main(); + } + WRITE_TO_FILE return ( audiobeam_return() ); } diff --git a/baseline/source/cjpeg_transupp/cjpeg_transupp.c b/baseline/source/cjpeg_transupp/cjpeg_transupp.c index 4a95fe1..112fba1 100644 --- a/baseline/source/cjpeg_transupp/cjpeg_transupp.c +++ b/baseline/source/cjpeg_transupp/cjpeg_transupp.c @@ -706,11 +706,11 @@ void _Pragma ( "entrypoint" ) cjpeg_transupp_main( void ) int main(int argc, char **argv) { - SET_UP - for_each_job { - cjpeg_transupp_init(); - cjpeg_transupp_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + cjpeg_transupp_init(); + cjpeg_transupp_main(); + } + WRITE_TO_FILE return ( cjpeg_transupp_return() - 660 != 0 ); } diff --git a/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c b/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c index 57daca4..a7aa477 100644 --- a/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c +++ b/baseline/source/cjpeg_wrbmp/cjpeg_wrbmp.c @@ -210,13 +210,13 @@ int cjpeg_wrbmp_return() int main(int argc, char **argv) { - SET_UP - for_each_job { - cjpeg_wrbmp_init(); - cjpeg_wrbmp_main(); - } - WRITE_TO_FILE - return ( cjpeg_wrbmp_return() ); + SET_UP + for_each_job { + cjpeg_wrbmp_init(); + cjpeg_wrbmp_main(); + } + WRITE_TO_FILE + return ( cjpeg_wrbmp_return() ); } #endif /* BMP_SUPPORTED */ diff --git a/baseline/source/dijkstra/dijkstra.c b/baseline/source/dijkstra/dijkstra.c index e9b115e..6602918 100644 --- a/baseline/source/dijkstra/dijkstra.c +++ b/baseline/source/dijkstra/dijkstra.c @@ -192,11 +192,11 @@ void _Pragma( "entrypoint" ) dijkstra_main( void ) int main(int argc, char** argv ) { - SET_UP - for_each_job { - dijkstra_init(); - dijkstra_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + dijkstra_init(); + dijkstra_main(); + } + WRITE_TO_FILE return ( dijkstra_return() ); } diff --git a/baseline/source/fmref/fmref.c b/baseline/source/fmref/fmref.c index ccd5954..b086f5a 100644 --- a/baseline/source/fmref/fmref.c +++ b/baseline/source/fmref/fmref.c @@ -77,12 +77,12 @@ int fmref_return(void) int main(int argc, char **argv){ - SET_UP - for_each_job { - fmref_init(); - fmref_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + fmref_init(); + fmref_main(); + } + WRITE_TO_FILE return fmref_return(); } diff --git a/baseline/source/g723_enc/g723_enc.c b/baseline/source/g723_enc/g723_enc.c index 646adcd..bf2df51 100644 --- a/baseline/source/g723_enc/g723_enc.c +++ b/baseline/source/g723_enc/g723_enc.c @@ -875,12 +875,12 @@ void _Pragma( "entrypoint" ) g723_enc_main() int main( int argc, char **argv ) { - SET_UP - for_each_job { - g723_enc_init(); - g723_enc_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + g723_enc_init(); + g723_enc_main(); + } + WRITE_TO_FILE return ( g723_enc_return() ); } diff --git a/baseline/source/gsm_dec/gsm_dec.c b/baseline/source/gsm_dec/gsm_dec.c index be6513c..abde144 100644 --- a/baseline/source/gsm_dec/gsm_dec.c +++ b/baseline/source/gsm_dec/gsm_dec.c @@ -752,11 +752,11 @@ void _Pragma( "entrypoint" ) gsm_dec_main( void ) int main( int argc, char **argv) { - SET_UP - for_each_job { - gsm_dec_init(); - gsm_dec_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + gsm_dec_init(); + gsm_dec_main(); + } + WRITE_TO_FILE return ( gsm_dec_return() ); } diff --git a/baseline/source/gsm_enc/gsm_enc.c b/baseline/source/gsm_enc/gsm_enc.c index 86f062b..75e2e7f 100644 --- a/baseline/source/gsm_enc/gsm_enc.c +++ b/baseline/source/gsm_enc/gsm_enc.c @@ -2060,11 +2060,11 @@ void gsm_enc_main( void ) int main( int argc, char** argv ) { - SET_UP - for_each_job { - gsm_enc_init(); - gsm_enc_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + gsm_enc_init(); + gsm_enc_main(); + } + WRITE_TO_FILE return ( gsm_enc_return() ); } diff --git a/baseline/source/h264_dec/h264_dec.c b/baseline/source/h264_dec/h264_dec.c index 4b1d939..1abd883 100644 --- a/baseline/source/h264_dec/h264_dec.c +++ b/baseline/source/h264_dec/h264_dec.c @@ -597,12 +597,12 @@ void _Pragma( "entrypoint" ) h264_dec_main( void ) int main( int argc, char** argv ) { - SET_UP - for_each_job { - h264_dec_init(); - h264_dec_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + h264_dec_init(); + h264_dec_main(); + } + WRITE_TO_FILE return ( h264_dec_return() ); } diff --git a/baseline/source/huff_dec/huff_dec.c b/baseline/source/huff_dec/huff_dec.c index e0ebc19..8ebf2f7 100644 --- a/baseline/source/huff_dec/huff_dec.c +++ b/baseline/source/huff_dec/huff_dec.c @@ -381,11 +381,11 @@ void _Pragma( "entrypoint" ) huff_dec_main( void ) int main( int argc, char **argv ) { - SET_UP - for_each_job { - huff_dec_init(); - huff_dec_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + huff_dec_init(); + huff_dec_main(); + } + WRITE_TO_FILE return ( huff_dec_return() ); } diff --git a/baseline/source/huff_enc/huff_enc.c b/baseline/source/huff_enc/huff_enc.c index 02522aa..f2db552 100644 --- a/baseline/source/huff_enc/huff_enc.c +++ b/baseline/source/huff_enc/huff_enc.c @@ -577,11 +577,11 @@ void _Pragma( "entrypoint" ) huff_enc_main() int main( int argc, char **argv ) { - SET_UP - for_each_job { - huff_enc_init(); - huff_enc_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + huff_enc_init(); + huff_enc_main(); + } + WRITE_TO_FILE return ( huff_enc_return() ); } diff --git a/baseline/source/mpeg2/mpeg2.c b/baseline/source/mpeg2/mpeg2.c index cc4c215..cceeb30 100644 --- a/baseline/source/mpeg2/mpeg2.c +++ b/baseline/source/mpeg2/mpeg2.c @@ -13205,12 +13205,12 @@ void _Pragma ( "entrypoint" ) mpeg2_main( void ) int main( int argc, char **argv ) { - SET_UP - for_each_job { - mpeg2_init(); - mpeg2_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + mpeg2_init(); + mpeg2_main(); + } + WRITE_TO_FILE return( mpeg2_return() - (-116) != 0 ); } diff --git a/baseline/source/ndes/ndes.c b/baseline/source/ndes/ndes.c index b919018..5d00d94 100644 --- a/baseline/source/ndes/ndes.c +++ b/baseline/source/ndes/ndes.c @@ -365,12 +365,12 @@ void _Pragma( "entrypoint" ) ndes_main() int main( int argc, char **argv ) { - SET_UP - for_each_job { - ndes_init(); - ndes_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + ndes_init(); + ndes_main(); + } + WRITE_TO_FILE return ( ndes_return() ); } diff --git a/baseline/source/petrinet/petrinet.c b/baseline/source/petrinet/petrinet.c index 79da104..a54a999 100644 --- a/baseline/source/petrinet/petrinet.c +++ b/baseline/source/petrinet/petrinet.c @@ -976,12 +976,10 @@ int petrinet_return( void ) int main( int argc, char **argv ) { SET_UP - - for_each_job { - - petrinet_main(); - } - WRITE_TO_FILE + for_each_job { + petrinet_main(); + } + WRITE_TO_FILE return ( petrinet_return() ); } diff --git a/baseline/source/rijndael_dec/rijndael_dec.c b/baseline/source/rijndael_dec/rijndael_dec.c index ccd6a65..c8f606b 100644 --- a/baseline/source/rijndael_dec/rijndael_dec.c +++ b/baseline/source/rijndael_dec/rijndael_dec.c @@ -182,12 +182,12 @@ void _Pragma( "entrypoint" ) rijndael_dec_main( void ) int main(int argc, char** argv) { - SET_UP - for_each_job { - rijndael_dec_init(); - rijndael_dec_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + rijndael_dec_init(); + rijndael_dec_main(); + } + WRITE_TO_FILE return ( rijndael_dec_return() ); } diff --git a/baseline/source/statemate/statemate.c b/baseline/source/statemate/statemate.c index 2b76166..8239ed6 100644 --- a/baseline/source/statemate/statemate.c +++ b/baseline/source/statemate/statemate.c @@ -1273,12 +1273,12 @@ void _Pragma ( "entrypoint" ) statemate_main( void ) int main ( int argc, char **argv ) { - SET_UP - for_each_job { - statemate_init(); - statemate_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + statemate_init(); + statemate_main(); + } + WRITE_TO_FILE return statemate_return(); } diff --git a/baseline/source/susan/susan.c b/baseline/source/susan/susan.c index 9de5f01..14a2f28 100644 --- a/baseline/source/susan/susan.c +++ b/baseline/source/susan/susan.c @@ -2001,12 +2001,12 @@ int susan_return( void ) int main( int argc, char **argv ) { - SET_UP - for_each_job { - susan_init(); - susan_main(); - } - WRITE_TO_FILE + SET_UP + for_each_job { + susan_init(); + susan_main(); + } + WRITE_TO_FILE return susan_return(); } -- cgit v1.2.2