diff --git a/CHANGELOG b/CHANGELOG index 7927f0beeb4a49cdb971bb79db7703abadd2b1cb..52895df6580f67f0c24500ca53ccd8ea38f38034 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,10 @@ +------------------- +* Changes in 4.2.1: +------------------- + - Fixed an issue with PAPI support. + Reported by Keyur Joshi <cs13b1014@iith.ac.in> + - Added support for PAPI 5.4.x. + ----------------- * Changes in 4.2: ----------------- diff --git a/README b/README index a677c9e5c7bb31c7144380be865bf1d3f4125917..8b9955a25d614997b5909999b3601135d913a1d2 100644 --- a/README +++ b/README @@ -1,25 +1,6 @@ - -This branch of PolyBench analyzes gcc and armclang vectorization for SVE. -On juawei, one can simply run ./run_sve_compiler.sh - -This script compiles all kernels with SVE enabled in 4 different ways: -1. gcc -2. gcc but with the flag -DPOLYBENCH_USE_RESTRICT. This allows the compiler to use -more aggresive vectorization because it can assume absence of aliasing. -3. same as 1. but with armclang -4. same as 2. but with armclang -5. same as 3. but with clang -6. same as 4. but with clang - -It then prints output about vectorization in the file vectorization_summary. -One can also manually modify compiler flags in a perl file ./utilities/makefile-gen.pl - - - - -* * * * * * * * * * -* PolyBench/C 4.2 * -* * * * * * * * * * +* * * * * * * * * * * * * * * +* PolyBench/C 4.2.1 (beta) * +* * * * * * * * * * * * * * * Copyright (c) 2011-2016 the Ohio State University. @@ -44,10 +25,10 @@ include: PolyBench is currently available in C and in Fortran: -- See PolyBench/C 4.2 for the C version +- See PolyBench/C 4.2.1 for the C version - See PolyBench/Fortran 1.0 for the Fortran version (based on PolyBench/C 3.2) -Available benchmarks (PolyBench/C 4.2) +Available benchmarks (PolyBench/C 4.2.1) Benchmark Description 2mm 2 Matrix Multiplications (alpha * A * B * C + beta * D) @@ -84,6 +65,12 @@ trmm Triangular matrix-multiply See the end of the README for mailing lists, instructions to use PolyBench, etc. +-------------------- +* New in 4.2.1-beta: +-------------------- + - Fix a bug in PAPI support, introduced in 4.2 + - Support PAPI 5.4.x + ------------- * New in 4.2: ------------- diff --git a/datamining/correlation/correlation.h b/datamining/correlation/correlation.h index 2a5f8a819fe275176fec2e0906ebe0ff48c71583..f2660e2907b0e692f6915d07b68a1aad2ebc60d9 100644 --- a/datamining/correlation/correlation.h +++ b/datamining/correlation/correlation.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _CORRELATION_H # define _CORRELATION_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 28 # define N 32 -# endif +# endif # ifdef SMALL_DATASET # define M 80 # define N 100 -# endif +# endif # ifdef MEDIUM_DATASET # define M 240 # define N 260 -# endif +# endif # ifdef LARGE_DATASET # define M 1200 # define N 1400 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 2600 # define N 3000 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_CORRELATION_H */ - diff --git a/datamining/covariance/covariance.h b/datamining/covariance/covariance.h index 9beef52bac35eb156b9476cea324429029977638..e35f8958f34c15c3a463bfbaa1ade3ec8a9c4872 100644 --- a/datamining/covariance/covariance.h +++ b/datamining/covariance/covariance.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _COVARIANCE_H # define _COVARIANCE_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 28 # define N 32 -# endif +# endif # ifdef SMALL_DATASET # define M 80 # define N 100 -# endif +# endif # ifdef MEDIUM_DATASET # define M 240 # define N 260 -# endif +# endif # ifdef LARGE_DATASET # define M 1200 # define N 1400 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 2600 # define N 3000 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_COVARIANCE_H */ - diff --git a/linear-algebra/blas/gemm/gemm.h b/linear-algebra/blas/gemm/gemm.h index 509d2e051df65eb6517a151ff1f69f4ada9a48f6..0d18a0bfcddd2259b11c6fa59d7533715029ab5e 100644 --- a/linear-algebra/blas/gemm/gemm.h +++ b/linear-algebra/blas/gemm/gemm.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _GEMM_H # define _GEMM_H @@ -12,31 +21,31 @@ # define NI 20 # define NJ 25 # define NK 30 -# endif +# endif # ifdef SMALL_DATASET # define NI 60 # define NJ 70 # define NK 80 -# endif +# endif # ifdef MEDIUM_DATASET # define NI 200 # define NJ 220 # define NK 240 -# endif +# endif # ifdef LARGE_DATASET # define NI 1000 # define NJ 1100 # define NK 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define NI 2000 # define NJ 2300 # define NK 2600 -# endif +# endif #endif /* !(NI NJ NK) */ @@ -54,7 +63,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -75,4 +84,3 @@ # endif #endif /* !_GEMM_H */ - diff --git a/linear-algebra/blas/gemver/gemver.h b/linear-algebra/blas/gemver/gemver.h index 161c9c83d0021ec47f6105a0964fe032cd865f29..a0abdd0bb01a2a101b8615c8b85018c1bd47da49 100644 --- a/linear-algebra/blas/gemver/gemver.h +++ b/linear-algebra/blas/gemver/gemver.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _GEMVER_H # define _GEMVER_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 4000 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_GEMVER_H */ - diff --git a/linear-algebra/blas/gesummv/gesummv.c b/linear-algebra/blas/gesummv/gesummv.c index 41e6b00cedaf92406ca0d5b4ca04b993dc0929ab..c5e2cd6d2353f64f7f089302d4e1a5710840a457 100644 --- a/linear-algebra/blas/gesummv/gesummv.c +++ b/linear-algebra/blas/gesummv/gesummv.c @@ -85,10 +85,10 @@ void kernel_gesummv(int n, tmp[i] = SCALAR_VAL(0.0); y[i] = SCALAR_VAL(0.0); for (j = 0; j < _PB_N; j++) - { - tmp[i] = A[i][j] * x[j] + tmp[i]; - y[i] = B[i][j] * x[j] + y[i]; - } + { + tmp[i] = A[i][j] * x[j] + tmp[i]; + y[i] = B[i][j] * x[j] + y[i]; + } y[i] = alpha * tmp[i] + beta * y[i]; } #pragma endscop diff --git a/linear-algebra/blas/gesummv/gesummv.h b/linear-algebra/blas/gesummv/gesummv.h index c69f2417ccc5384f8e693b9372443c75e8d6e412..64285d8307cc3c44cd5793c298f55b6ab27c2c4f 100644 --- a/linear-algebra/blas/gesummv/gesummv.h +++ b/linear-algebra/blas/gesummv/gesummv.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _GESUMMV_H # define _GESUMMV_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define N 90 -# endif +# endif # ifdef MEDIUM_DATASET # define N 250 -# endif +# endif # ifdef LARGE_DATASET # define N 1300 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 2800 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_GESUMMV_H */ - diff --git a/linear-algebra/blas/symm/symm.h b/linear-algebra/blas/symm/symm.h index 36b9ce3002bc5e42b0df48232c1fe4ac65c2173f..8848b3dac1153260d100805fa3ce961434af38d0 100644 --- a/linear-algebra/blas/symm/symm.h +++ b/linear-algebra/blas/symm/symm.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _SYMM_H # define _SYMM_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 20 # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define M 60 # define N 80 -# endif +# endif # ifdef MEDIUM_DATASET # define M 200 # define N 240 -# endif +# endif # ifdef LARGE_DATASET # define M 1000 # define N 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 2000 # define N 2600 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_SYMM_H */ - diff --git a/linear-algebra/blas/syr2k/syr2k.h b/linear-algebra/blas/syr2k/syr2k.h index a73f4915f1ffb8f9a84eb734f68f2096a7c4e561..7861bcd8e8d89957ce2a8f4c9ac2a0a1faa81b14 100644 --- a/linear-algebra/blas/syr2k/syr2k.h +++ b/linear-algebra/blas/syr2k/syr2k.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _SYR2K_H # define _SYR2K_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 20 # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define M 60 # define N 80 -# endif +# endif # ifdef MEDIUM_DATASET # define M 200 # define N 240 -# endif +# endif # ifdef LARGE_DATASET # define M 1000 # define N 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 2000 # define N 2600 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_SYR2K_H */ - diff --git a/linear-algebra/blas/syrk/syrk.h b/linear-algebra/blas/syrk/syrk.h index 317cc9a0e94b0a116c024c8a3d6f0698b93c7db9..648fab399bde4156d302fe2dce1942ce82442638 100644 --- a/linear-algebra/blas/syrk/syrk.h +++ b/linear-algebra/blas/syrk/syrk.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _SYRK_H # define _SYRK_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 20 # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define M 60 # define N 80 -# endif +# endif # ifdef MEDIUM_DATASET # define M 200 # define N 240 -# endif +# endif # ifdef LARGE_DATASET # define M 1000 # define N 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 2000 # define N 2600 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_SYRK_H */ - diff --git a/linear-algebra/blas/trmm/trmm.h b/linear-algebra/blas/trmm/trmm.h index e149ec6cfb4113fab89f448763871521224a9025..b1eaea1e0d29e179fa42927a917b14031ac78c82 100644 --- a/linear-algebra/blas/trmm/trmm.h +++ b/linear-algebra/blas/trmm/trmm.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _TRMM_H # define _TRMM_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 20 # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define M 60 # define N 80 -# endif +# endif # ifdef MEDIUM_DATASET # define M 200 # define N 240 -# endif +# endif # ifdef LARGE_DATASET # define M 1000 # define N 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 2000 # define N 2600 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_TRMM_H */ - diff --git a/linear-algebra/kernels/2mm/2mm.h b/linear-algebra/kernels/2mm/2mm.h index f52057a716762d515d117831187383d1b22e7b55..1b0b3d580cf041d9304b5d727ff1dc4f62e9bca4 100644 --- a/linear-algebra/kernels/2mm/2mm.h +++ b/linear-algebra/kernels/2mm/2mm.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _2MM_H # define _2MM_H @@ -13,35 +22,35 @@ # define NJ 18 # define NK 22 # define NL 24 -# endif +# endif # ifdef SMALL_DATASET # define NI 40 # define NJ 50 # define NK 70 # define NL 80 -# endif +# endif # ifdef MEDIUM_DATASET # define NI 180 # define NJ 190 # define NK 210 # define NL 220 -# endif +# endif # ifdef LARGE_DATASET # define NI 800 # define NJ 900 # define NK 1100 # define NL 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define NI 1600 # define NJ 1800 # define NK 2200 # define NL 2400 -# endif +# endif #endif /* !(NI NJ NK NL) */ @@ -60,7 +69,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -81,4 +90,3 @@ # endif #endif /* !_2MM_H */ - diff --git a/linear-algebra/kernels/3mm/3mm.h b/linear-algebra/kernels/3mm/3mm.h index be59d191edc63cb334f9bef467626199ccfef44a..8cc464eb62772c7c080681c755613c0b6d310b7b 100644 --- a/linear-algebra/kernels/3mm/3mm.h +++ b/linear-algebra/kernels/3mm/3mm.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _3MM_H # define _3MM_H @@ -14,7 +23,7 @@ # define NK 20 # define NL 22 # define NM 24 -# endif +# endif # ifdef SMALL_DATASET # define NI 40 @@ -22,7 +31,7 @@ # define NK 60 # define NL 70 # define NM 80 -# endif +# endif # ifdef MEDIUM_DATASET # define NI 180 @@ -30,7 +39,7 @@ # define NK 200 # define NL 210 # define NM 220 -# endif +# endif # ifdef LARGE_DATASET # define NI 800 @@ -38,7 +47,7 @@ # define NK 1000 # define NL 1100 # define NM 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define NI 1600 @@ -46,7 +55,7 @@ # define NK 2000 # define NL 2200 # define NM 2400 -# endif +# endif #endif /* !(NI NJ NK NL NM) */ @@ -66,7 +75,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -87,4 +96,3 @@ # endif #endif /* !_3MM_H */ - diff --git a/linear-algebra/kernels/atax/atax.h b/linear-algebra/kernels/atax/atax.h index 6bdd2168e7061b8f841a8d0b17013ad53dee81d9..21e12b2d72cc0aa4d65125be576f0bebe5764e80 100644 --- a/linear-algebra/kernels/atax/atax.h +++ b/linear-algebra/kernels/atax/atax.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _ATAX_H # define _ATAX_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 38 # define N 42 -# endif +# endif # ifdef SMALL_DATASET # define M 116 # define N 124 -# endif +# endif # ifdef MEDIUM_DATASET # define M 390 # define N 410 -# endif +# endif # ifdef LARGE_DATASET # define M 1900 # define N 2100 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 1800 # define N 2200 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_ATAX_H */ - diff --git a/linear-algebra/kernels/bicg/bicg.h b/linear-algebra/kernels/bicg/bicg.h index 6088b9b723179f46d146b381d991bbb8699bb562..984e955150e601aa41b9db045629d6dc884a9de1 100644 --- a/linear-algebra/kernels/bicg/bicg.h +++ b/linear-algebra/kernels/bicg/bicg.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _BICG_H # define _BICG_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 38 # define N 42 -# endif +# endif # ifdef SMALL_DATASET # define M 116 # define N 124 -# endif +# endif # ifdef MEDIUM_DATASET # define M 390 # define N 410 -# endif +# endif # ifdef LARGE_DATASET # define M 1900 # define N 2100 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 1800 # define N 2200 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_BICG_H */ - diff --git a/linear-algebra/kernels/doitgen/doitgen.h b/linear-algebra/kernels/doitgen/doitgen.h index beca17e6faf9165453581441b3bf768411385b12..197abef57bb66e9ee7fbcff41af7fd8954304bfd 100644 --- a/linear-algebra/kernels/doitgen/doitgen.h +++ b/linear-algebra/kernels/doitgen/doitgen.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _DOITGEN_H # define _DOITGEN_H @@ -12,31 +21,31 @@ # define NQ 8 # define NR 10 # define NP 12 -# endif +# endif # ifdef SMALL_DATASET # define NQ 20 # define NR 25 # define NP 30 -# endif +# endif # ifdef MEDIUM_DATASET # define NQ 40 # define NR 50 # define NP 60 -# endif +# endif # ifdef LARGE_DATASET # define NQ 140 # define NR 150 # define NP 160 -# endif +# endif # ifdef EXTRALARGE_DATASET # define NQ 220 # define NR 250 # define NP 270 -# endif +# endif #endif /* !(NQ NR NP) */ @@ -54,7 +63,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -75,4 +84,3 @@ # endif #endif /* !_DOITGEN_H */ - diff --git a/linear-algebra/kernels/mvt/mvt.h b/linear-algebra/kernels/mvt/mvt.h index 02af6f9f8ed04299478452a62b7d8a1f2d72f46f..c41323b739a8f108ebd7acc663f8bcf11de9433b 100644 --- a/linear-algebra/kernels/mvt/mvt.h +++ b/linear-algebra/kernels/mvt/mvt.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _MVT_H # define _MVT_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 4000 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_MVT_H */ - diff --git a/linear-algebra/solvers/cholesky/cholesky.h b/linear-algebra/solvers/cholesky/cholesky.h index 1f39aae0307e7dbbecae5caea712c12327cbcc38..81b277dc0ede1aa2ddbd6ab9fb137e3d55fdda4d 100644 --- a/linear-algebra/solvers/cholesky/cholesky.h +++ b/linear-algebra/solvers/cholesky/cholesky.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _CHOLESKY_H # define _CHOLESKY_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 4000 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_CHOLESKY_H */ - diff --git a/linear-algebra/solvers/durbin/durbin.h b/linear-algebra/solvers/durbin/durbin.h index 486a2abc1feb1d10e724cf4e2167ffe706e34b6c..dfa1a8400dd9aa8fe0aae79ec3eb012ae111e6d7 100644 --- a/linear-algebra/solvers/durbin/durbin.h +++ b/linear-algebra/solvers/durbin/durbin.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _DURBIN_H # define _DURBIN_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 4000 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_DURBIN_H */ - diff --git a/linear-algebra/solvers/gramschmidt/gramschmidt.h b/linear-algebra/solvers/gramschmidt/gramschmidt.h index fc8212d10cde98d7155c5fddbae1dcd9c8b0808b..e20ddb2d8d81f60a60bd0390ff0841b1a95bfd91 100644 --- a/linear-algebra/solvers/gramschmidt/gramschmidt.h +++ b/linear-algebra/solvers/gramschmidt/gramschmidt.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _GRAMSCHMIDT_H # define _GRAMSCHMIDT_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define M 20 # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define M 60 # define N 80 -# endif +# endif # ifdef MEDIUM_DATASET # define M 200 # define N 240 -# endif +# endif # ifdef LARGE_DATASET # define M 1000 # define N 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define M 2000 # define N 2600 -# endif +# endif #endif /* !(M N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_GRAMSCHMIDT_H */ - diff --git a/linear-algebra/solvers/lu/lu.h b/linear-algebra/solvers/lu/lu.h index c9b3b47e7b66ae4a8aba79f3b8b10ee7b88957b7..3899acccaad33bd4da0576c4524925e084357e04 100644 --- a/linear-algebra/solvers/lu/lu.h +++ b/linear-algebra/solvers/lu/lu.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _LU_H # define _LU_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 4000 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_LU_H */ - diff --git a/linear-algebra/solvers/ludcmp/ludcmp.h b/linear-algebra/solvers/ludcmp/ludcmp.h index aa8a576eabbde88092a788e05cb683e41fffa846..01c4f135ccd13ca9dcb33095e80953a5a2f19505 100644 --- a/linear-algebra/solvers/ludcmp/ludcmp.h +++ b/linear-algebra/solvers/ludcmp/ludcmp.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _LUDCMP_H # define _LUDCMP_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 4000 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_LUDCMP_H */ - diff --git a/linear-algebra/solvers/trisolv/trisolv.h b/linear-algebra/solvers/trisolv/trisolv.h index b603f0eee7b92252e8f002c67aed9ed2804900be..37b983e28f08a7be9fe47944a5bfe72a2deb41c7 100644 --- a/linear-algebra/solvers/trisolv/trisolv.h +++ b/linear-algebra/solvers/trisolv/trisolv.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _TRISOLV_H # define _TRISOLV_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 4000 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_TRISOLV_H */ - diff --git a/medley/deriche/deriche.h b/medley/deriche/deriche.h index 19b1fd4b6c7d979a2003448c5c9a38921708c8e9..260757bfb43326bc22cdc82fba24a81c0892573e 100644 --- a/medley/deriche/deriche.h +++ b/medley/deriche/deriche.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _DERICHE_H # define _DERICHE_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define W 64 # define H 64 -# endif +# endif # ifdef SMALL_DATASET # define W 192 # define H 128 -# endif +# endif # ifdef MEDIUM_DATASET # define W 720 # define H 480 -# endif +# endif # ifdef LARGE_DATASET # define W 4096 # define H 2160 -# endif +# endif # ifdef EXTRALARGE_DATASET # define W 7680 # define H 4320 -# endif +# endif #endif /* !(W H) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_DERICHE_H */ - diff --git a/medley/floyd-warshall/floyd-warshall.h b/medley/floyd-warshall/floyd-warshall.h index 3573869ea41cc4404818933547824e8adb52dbad..800f42c9a505bd369280ceb80f2c6a945e07db01 100644 --- a/medley/floyd-warshall/floyd-warshall.h +++ b/medley/floyd-warshall/floyd-warshall.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _FLOYD_WARSHALL_H # define _FLOYD_WARSHALL_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 60 -# endif +# endif # ifdef SMALL_DATASET # define N 180 -# endif +# endif # ifdef MEDIUM_DATASET # define N 500 -# endif +# endif # ifdef LARGE_DATASET # define N 2800 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 5600 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_FLOYD_WARSHALL_H */ - diff --git a/medley/nussinov/nussinov.h b/medley/nussinov/nussinov.h index 7201ad796bba798c6dbecca17d303b24f8c13885..50aea1f5fcd9c1278821d85dc427e48a4a95bb6c 100644 --- a/medley/nussinov/nussinov.h +++ b/medley/nussinov/nussinov.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _NUSSINOV_H # define _NUSSINOV_H @@ -10,23 +19,23 @@ /* Define sample dataset sizes. */ # ifdef MINI_DATASET # define N 60 -# endif +# endif # ifdef SMALL_DATASET # define N 180 -# endif +# endif # ifdef MEDIUM_DATASET # define N 500 -# endif +# endif # ifdef LARGE_DATASET # define N 2500 -# endif +# endif # ifdef EXTRALARGE_DATASET # define N 5500 -# endif +# endif #endif /* !(N) */ @@ -42,7 +51,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -63,4 +72,3 @@ # endif #endif /* !_NUSSINOV_H */ - diff --git a/polybench.pdf b/polybench.pdf index 01fb0830a3fa59cdfd4d0ea9572bfec065a00ace..70a7b56d5962fc74ec272ddcc4d19f3ddd5e7f58 100644 Binary files a/polybench.pdf and b/polybench.pdf differ diff --git a/stencils/adi/adi.h b/stencils/adi/adi.h index 9998e48b5c6ae56c14a7a97a5ab8679d3e4f7b30..24fbabc20de095e241e603c88ad795312a20209a 100644 --- a/stencils/adi/adi.h +++ b/stencils/adi/adi.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _ADI_H # define _ADI_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define TSTEPS 20 # define N 20 -# endif +# endif # ifdef SMALL_DATASET # define TSTEPS 40 # define N 60 -# endif +# endif # ifdef MEDIUM_DATASET # define TSTEPS 100 # define N 200 -# endif +# endif # ifdef LARGE_DATASET # define TSTEPS 500 # define N 1000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define TSTEPS 1000 # define N 2000 -# endif +# endif #endif /* !(TSTEPS N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_ADI_H */ - diff --git a/stencils/fdtd-2d/fdtd-2d.h b/stencils/fdtd-2d/fdtd-2d.h index 40184cdea45bc01ea3ae304349e63d4742a655ff..4ffadd5bb6273fb645ecb0a2ebac852d2725c629 100644 --- a/stencils/fdtd-2d/fdtd-2d.h +++ b/stencils/fdtd-2d/fdtd-2d.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _FDTD_2D_H # define _FDTD_2D_H @@ -12,31 +21,31 @@ # define TMAX 20 # define NX 20 # define NY 30 -# endif +# endif # ifdef SMALL_DATASET # define TMAX 40 # define NX 60 # define NY 80 -# endif +# endif # ifdef MEDIUM_DATASET # define TMAX 100 # define NX 200 # define NY 240 -# endif +# endif # ifdef LARGE_DATASET # define TMAX 500 # define NX 1000 # define NY 1200 -# endif +# endif # ifdef EXTRALARGE_DATASET # define TMAX 1000 # define NX 2000 # define NY 2600 -# endif +# endif #endif /* !(TMAX NX NY) */ @@ -54,7 +63,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -75,4 +84,3 @@ # endif #endif /* !_FDTD_2D_H */ - diff --git a/stencils/heat-3d/heat-3d.h b/stencils/heat-3d/heat-3d.h index 62c579f35c8c453deea98b705e2573aec8910359..37fb9fdf10cee457e66013d8f5452148179bbca5 100644 --- a/stencils/heat-3d/heat-3d.h +++ b/stencils/heat-3d/heat-3d.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _HEAT_3D_H # define _HEAT_3D_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define TSTEPS 20 # define N 10 -# endif +# endif # ifdef SMALL_DATASET # define TSTEPS 40 # define N 20 -# endif +# endif # ifdef MEDIUM_DATASET # define TSTEPS 100 # define N 40 -# endif +# endif # ifdef LARGE_DATASET # define TSTEPS 500 # define N 120 -# endif +# endif # ifdef EXTRALARGE_DATASET # define TSTEPS 1000 # define N 200 -# endif +# endif #endif /* !(TSTEPS N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_HEAT_3D_H */ - diff --git a/stencils/jacobi-1d/jacobi-1d.h b/stencils/jacobi-1d/jacobi-1d.h index 957d7723cbc6cc74b0c1660c04027da74c8adc9a..febdfcbeff2f83348308c22b2bd2411cb5694e7f 100644 --- a/stencils/jacobi-1d/jacobi-1d.h +++ b/stencils/jacobi-1d/jacobi-1d.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _JACOBI_1D_H # define _JACOBI_1D_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define TSTEPS 20 # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define TSTEPS 40 # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define TSTEPS 100 # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define TSTEPS 500 # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define TSTEPS 1000 # define N 4000 -# endif +# endif #endif /* !(TSTEPS N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_JACOBI_1D_H */ - diff --git a/stencils/jacobi-2d/jacobi-2d.h b/stencils/jacobi-2d/jacobi-2d.h index 7dbfe15c96bd857abc291d968335ae1b80baca8a..ca0d4d32c97005ba2dc7318a4e3470f842cd6864 100644 --- a/stencils/jacobi-2d/jacobi-2d.h +++ b/stencils/jacobi-2d/jacobi-2d.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _JACOBI_2D_H # define _JACOBI_2D_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define TSTEPS 20 # define N 30 -# endif +# endif # ifdef SMALL_DATASET # define TSTEPS 40 # define N 90 -# endif +# endif # ifdef MEDIUM_DATASET # define TSTEPS 100 # define N 250 -# endif +# endif # ifdef LARGE_DATASET # define TSTEPS 500 # define N 1300 -# endif +# endif # ifdef EXTRALARGE_DATASET # define TSTEPS 1000 # define N 2800 -# endif +# endif #endif /* !(TSTEPS N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_JACOBI_2D_H */ - diff --git a/stencils/seidel-2d/seidel-2d.h b/stencils/seidel-2d/seidel-2d.h index 84289eac3706f41434a71a2ea2c7c3f81bd82b4e..e7761b08b1656444b9d8f9ebdf4943a31fda7633 100644 --- a/stencils/seidel-2d/seidel-2d.h +++ b/stencils/seidel-2d/seidel-2d.h @@ -1,3 +1,12 @@ +/** + * This version is stamped on May 10, 2016 + * + * Contact: + * Louis-Noel Pouchet <pouchet.ohio-state.edu> + * Tomofumi Yuki <tomofumi.yuki.fr> + * + * Web address: http://polybench.sourceforge.net + */ #ifndef _SEIDEL_2D_H # define _SEIDEL_2D_H @@ -11,27 +20,27 @@ # ifdef MINI_DATASET # define TSTEPS 20 # define N 40 -# endif +# endif # ifdef SMALL_DATASET # define TSTEPS 40 # define N 120 -# endif +# endif # ifdef MEDIUM_DATASET # define TSTEPS 100 # define N 400 -# endif +# endif # ifdef LARGE_DATASET # define TSTEPS 500 # define N 2000 -# endif +# endif # ifdef EXTRALARGE_DATASET # define TSTEPS 1000 # define N 4000 -# endif +# endif #endif /* !(TSTEPS N) */ @@ -48,7 +57,7 @@ #ifdef DATA_TYPE_IS_INT # define DATA_TYPE int # define DATA_PRINTF_MODIFIER "%d " -#endif +#endif #ifdef DATA_TYPE_IS_FLOAT # define DATA_TYPE float @@ -69,4 +78,3 @@ # endif #endif /* !_SEIDEL_2D_H */ - diff --git a/utilities/makefile-gen.pl b/utilities/makefile-gen.pl index 3cfb33728502b27721d60fbd1473d026074ef232..e75fb0150ec551d6c3d9f3cef279d814e7f3a4a4 100644 --- a/utilities/makefile-gen.pl +++ b/utilities/makefile-gen.pl @@ -61,37 +61,34 @@ include $configFile EXTRA_FLAGS=$extra_flags{$kernel} -all: $kernel-gcc.s $kernel-gcc-restrict.s $kernel-armclang.s $kernel-armclang-restrict.s $kernel-clang.s $kernel-clang-restrict.s +all: $kernel #$kernel-gcc: $kernel.c $kernel.h # \${GCC} -o \$@ $kernel.c \${GCCFLAGS} -I. -I$utilityDir $utilityDir/polybench.c \${EXTRA_FLAGS} - $kernel-gcc.s: $kernel.c \${GCC} -o \$@ $kernel.c -S \${GCCFLAGS} -I. -I$utilityDir 2>&1 | tee gcc.log - + $kernel-gcc-restrict.s: $kernel.c \${GCC} -o \$@ $kernel.c -S \${GCCFLAGS} -DPOLYBENCH_USE_RESTRICT -I. -I$utilityDir 2>&1 | tee gcc-restrict.log - #$kernel-armclang: $kernel.c $kernel.h # \${ARMCLANG} -o \$@ $kernel.c \${ARMCLANGFLAGS} -I. -I$utilityDir $utilityDir/polybench.c \${EXTRA_FLAGS} - $kernel-armclang.s: $kernel.c \${ARMCLANG} -o \$@ $kernel.c -S \${ARMCLANGFLAGS} -I. -I$utilityDir 2>&1 | tee armclang.log - $kernel-armclang-restrict.s: $kernel.c \${ARMCLANG} -o \$@ $kernel.c -S \${ARMCLANGFLAGS} -DPOLYBENCH_USE_RESTRICT -I. -I$utilityDir 2>&1 | tee armclang-restrict.log - #$kernel-clang: $kernel.c $kernel.h # \${CLANG} -o \$@ $kernel.c \${CLANGFLAGS} -I. -I$utilityDir $utilityDir/polybench.c \${EXTRA_FLAGS} - $kernel-clang.s: $kernel.c \${CLANG} -o \$@ $kernel.c -S \${CLANGFLAGS} -I. -I$utilityDir 2>&1 | tee clang.log - $kernel-clang-restrict.s: $kernel.c \${CLANG} -o \$@ $kernel.c -S \${CLANGFLAGS} -DPOLYBENCH_USE_RESTRICT -I. -I$utilityDir 2>&1 | tee clang-restrict.log + +$kernel: $kernel.c $kernel.h + \${VERBOSE} \${CC} -o $kernel $kernel.c \${CFLAGS} -I. -I$utilityDir $utilityDir/polybench.c \${EXTRA_FLAGS} + clean: - rm -f *.s *.log + @ rm -f $kernel *.s *.x *.log EOF @@ -106,14 +103,17 @@ if ($GEN_CONFIG) { open FILE, '>'.$TARGET_DIR.'/config.mk'; print FILE << "EOF"; +CC=gcc +CFLAGS=-O2 -DPOLYBENCH_DUMP_ARRAYS -DPOLYBENCH_USE_C99_PROTO GCC=gcc GCCFLAGS= -march=armv8-a+sve -O3 -ftree-vectorizer-verbose=3 -fopt-info-vec -ffp-contract=fast CLANG=clang CLANGFLAGS= -march=armv8-a+sve -O3 -Rpass=loop-vectorize -ffp-contract=fast ARMCLANG=armclang ARMCLANGFLAGS= -march=armv8-a+sve -O3 -Rpass=loop-vectorize -ffp-contract=fast -EOF + +EOF close FILE; } diff --git a/utilities/polybench.c b/utilities/polybench.c index 9aabd8ed92326008734876b3eac5921541a440aa..e3359337a3eca87aa205a8d297c3ea61b3fea911 100644 --- a/utilities/polybench.c +++ b/utilities/polybench.c @@ -23,7 +23,13 @@ # include <omp.h> #endif -#include "polybench.h" +#if defined(POLYBENCH_PAPI) +# undef POLYBENCH_PAPI +# include "polybench.h" +# define POLYBENCH_PAPI +#else +# include "polybench.h" +#endif /* By default, collect PAPI counters on thread 0. */ #ifndef POLYBENCH_THREAD_MONITOR @@ -166,8 +172,13 @@ void test_fail(char *file, int line, char *call, int retval) else { char errstring[PAPI_MAX_STR_LEN]; + // PAPI 5.4.3 has changed the API for PAPI_perror. + #if defined (PAPI_VERSION) && ((PAPI_VERSION_MAJOR(PAPI_VERSION) == 5 && PAPI_VERSION_MINOR(PAPI_VERSION) >= 4) || PAPI_VERSION_MAJOR(PAPI_VERSION) > 5) + fprintf (stdout, "Error in %s: %s\n", call, PAPI_strerror(retval)); + #else PAPI_perror (retval, errstring, PAPI_MAX_STR_LEN); fprintf (stdout,"Error in %s: %s\n", call, errstring); + #endif } fprintf (stdout,"\n"); if (PAPI_is_initialized ()) diff --git a/utilities/run-all.pl b/utilities/run-all.pl index b243673ac5145b2970a505b87a954c07fe79eae5..6b6674d10a945f50963df624750557abaa2abcb4 100644 --- a/utilities/run-all.pl +++ b/utilities/run-all.pl @@ -42,9 +42,9 @@ foreach $cat (@categories) { my $kernel = $dir; my $targetDir = $target.'/'.$dir; - my $command = "cd $targetDir; make clean; echo -e '#\n#\n#\n#compiling $kernel\n#\n#\n'; make; #./$kernel"; + my $command = "cd $targetDir; make clean; make; ./$kernel"; $command .= " 2>> $OUTFILE" if ($OUTFILE ne ''); - #print($command."\n"); + print($command."\n"); system($command); }