├── OpenACC ├── linear-algebra │ ├── kernels │ │ ├── 2mm │ │ │ ├── .gitignore │ │ │ ├── compiler.opts │ │ │ └── Makefile │ │ ├── 3mm │ │ │ ├── compiler.opts │ │ │ └── Makefile │ │ ├── atax │ │ │ ├── Makefile │ │ │ └── atax.h │ │ ├── bicg │ │ │ ├── Makefile │ │ │ └── bicg.h │ │ ├── doitgen │ │ │ ├── Makefile │ │ │ └── doitgen.h │ │ ├── gemm │ │ │ ├── Makefile │ │ │ └── gemm.h │ │ ├── gemver │ │ │ ├── Makefile │ │ │ └── gemver.h │ │ ├── gesummv │ │ │ ├── Makefile │ │ │ └── gesummv.h │ │ ├── mvt │ │ │ ├── Makefile │ │ │ └── mvt.h │ │ ├── symm │ │ │ ├── Makefile │ │ │ └── symm.h │ │ ├── syr2k │ │ │ ├── Makefile │ │ │ └── syr2k.h │ │ ├── syrk │ │ │ ├── Makefile │ │ │ └── syrk.h │ │ ├── trisolv │ │ │ ├── Makefile │ │ │ └── trisolv.h │ │ ├── trmm │ │ │ ├── Makefile │ │ │ └── trmm.h │ │ ├── cholesky │ │ │ ├── Makefile │ │ │ └── cholesky.h │ │ └── Makefile │ ├── solvers │ │ ├── lu │ │ │ ├── Makefile │ │ │ └── lu.h │ │ ├── durbin │ │ │ ├── Makefile │ │ │ └── durbin.h │ │ ├── dynprog │ │ │ ├── Makefile │ │ │ └── dynprog.h │ │ ├── ludcmp │ │ │ ├── Makefile │ │ │ └── ludcmp.h │ │ ├── gramschmidt │ │ │ ├── Makefile │ │ │ └── gramschmidt.h │ │ └── Makefile │ └── Makefile ├── utilities │ ├── c.mk │ ├── c2.mk │ ├── papi_counters.list │ ├── options.mk │ ├── common.mk │ ├── create_cpped_version.sh │ ├── template-for-new-benchmark.h │ └── benchmark_list ├── .gitignore ├── stencils │ ├── adi │ │ ├── Makefile │ │ └── adi.h │ ├── fdtd-2d │ │ ├── Makefile │ │ └── fdtd-2d.h │ ├── fdtd-apml │ │ └── Makefile │ ├── seidel-2d │ │ ├── Makefile │ │ └── seidel-2d.h │ ├── convolution-2d │ │ ├── Makefile │ │ └── convolution-2d.h │ ├── convolution-3d │ │ ├── Makefile │ │ └── convolution-3d.h │ ├── jacobi-1d-imper │ │ ├── Makefile │ │ └── jacobi-1d-imper.h │ ├── jacobi-2d-imper │ │ ├── Makefile │ │ └── jacobi-2d-imper.h │ └── Makefile ├── medley │ ├── reg_detect │ │ └── Makefile │ ├── floyd-warshall │ │ ├── Makefile │ │ └── floyd-warshall.h │ └── Makefile ├── datamining │ ├── correlation │ │ ├── Makefile │ │ └── correlation.h │ ├── covariance │ │ ├── Makefile │ │ └── covariance.h │ └── Makefile ├── Makefile ├── AUTHORS └── README.md ├── HMPP ├── utilities │ ├── c.mk │ ├── c2.mk │ ├── papi_counters.list │ ├── options.mk │ ├── common.mk │ ├── create_cpped_version.sh │ ├── template-for-new-benchmark.h │ └── benchmark_list ├── linear-algebra │ ├── kernels │ │ ├── 2mm │ │ │ ├── compiler.opts │ │ │ └── Makefile │ │ ├── 3mm │ │ │ ├── compiler.opts │ │ │ └── Makefile │ │ ├── atax │ │ │ ├── Makefile │ │ │ └── atax.h │ │ ├── bicg │ │ │ ├── Makefile │ │ │ └── bicg.h │ │ ├── gemm │ │ │ ├── Makefile │ │ │ └── gemm.h │ │ ├── mvt │ │ │ ├── Makefile │ │ │ └── mvt.h │ │ ├── symm │ │ │ ├── Makefile │ │ │ └── symm.h │ │ ├── syr2k │ │ │ ├── Makefile │ │ │ └── syr2k.h │ │ ├── syrk │ │ │ ├── Makefile │ │ │ └── syrk.h │ │ ├── trmm │ │ │ ├── Makefile │ │ │ └── trmm.h │ │ ├── cholesky │ │ │ ├── Makefile │ │ │ └── cholesky.h │ │ ├── doitgen │ │ │ ├── Makefile │ │ │ └── doitgen.h │ │ ├── gemver │ │ │ ├── Makefile │ │ │ └── gemver.h │ │ ├── gesummv │ │ │ ├── Makefile │ │ │ └── gesummv.h │ │ └── trisolv │ │ │ ├── Makefile │ │ │ └── trisolv.h │ └── solvers │ │ ├── lu │ │ ├── Makefile │ │ └── lu.h │ │ ├── durbin │ │ ├── Makefile │ │ └── durbin.h │ │ ├── dynprog │ │ ├── Makefile │ │ └── dynprog.h │ │ ├── ludcmp │ │ ├── Makefile │ │ └── ludcmp.h │ │ └── gramschmidt │ │ ├── Makefile │ │ └── gramschmidt.h ├── stencils │ ├── adi │ │ ├── Makefile │ │ └── adi.h │ ├── fdtd-2d │ │ ├── Makefile │ │ └── fdtd-2d.h │ ├── fdtd-apml │ │ └── Makefile │ ├── seidel-2d │ │ ├── Makefile │ │ └── seidel-2d.h │ ├── convolution-2d │ │ ├── Makefile │ │ └── convolution-2d.h │ ├── convolution-3d │ │ ├── Makefile │ │ └── convolution-3d.h │ ├── jacobi-1d-imper │ │ ├── Makefile │ │ ├── Makefile.dep │ │ └── jacobi-1d-imper.h │ └── jacobi-2d-imper │ │ ├── Makefile │ │ └── jacobi-2d-imper.h ├── medley │ ├── reg_detect │ │ └── Makefile │ └── floyd-warshall │ │ ├── Makefile │ │ └── floyd-warshall.h ├── datamining │ ├── correlation │ │ ├── Makefile │ │ └── correlation.h │ └── covariance │ │ ├── Makefile │ │ └── covariance.h └── AUTHORS ├── OpenMP ├── utilities │ ├── c.mk │ ├── c2.mk │ ├── papi_counters.list │ ├── options.mk │ ├── common.mk │ ├── create_cpped_version.sh │ ├── template-for-new-benchmark.h │ └── benchmark_list ├── linear-algebra │ ├── kernels │ │ ├── 2mm │ │ │ ├── compiler.opts │ │ │ └── Makefile │ │ ├── 3mm │ │ │ ├── compiler.opts │ │ │ └── Makefile │ │ ├── mvt │ │ │ ├── Makefile │ │ │ └── mvt.h │ │ ├── atax │ │ │ ├── Makefile │ │ │ └── atax.h │ │ ├── bicg │ │ │ ├── Makefile │ │ │ └── bicg.h │ │ ├── cholesky │ │ │ ├── Makefile │ │ │ └── cholesky.h │ │ ├── doitgen │ │ │ ├── Makefile │ │ │ └── doitgen.h │ │ ├── gemm │ │ │ ├── Makefile │ │ │ └── gemm.h │ │ ├── gemver │ │ │ ├── Makefile │ │ │ └── gemver.h │ │ ├── gesummv │ │ │ ├── Makefile │ │ │ └── gesummv.h │ │ ├── symm │ │ │ ├── Makefile │ │ │ └── symm.h │ │ ├── syr2k │ │ │ ├── Makefile │ │ │ └── syr2k.h │ │ ├── syrk │ │ │ ├── Makefile │ │ │ └── syrk.h │ │ ├── trisolv │ │ │ ├── Makefile │ │ │ └── trisolv.h │ │ └── trmm │ │ │ ├── Makefile │ │ │ └── trmm.h │ └── solvers │ │ ├── lu │ │ ├── Makefile │ │ └── lu.h │ │ ├── durbin │ │ ├── Makefile │ │ └── durbin.h │ │ ├── dynprog │ │ ├── Makefile │ │ └── dynprog.h │ │ ├── ludcmp │ │ ├── Makefile │ │ └── ludcmp.h │ │ └── gramschmidt │ │ ├── Makefile │ │ └── gramschmidt.h ├── stencils │ ├── adi │ │ ├── Makefile │ │ └── adi.h │ ├── fdtd-2d │ │ └── Makefile │ ├── fdtd-apml │ │ └── Makefile │ ├── seidel-2d │ │ ├── Makefile │ │ └── seidel-2d.h │ ├── convolution-2d │ │ ├── Makefile │ │ └── convolution-2d.h │ ├── convolution-3d │ │ ├── Makefile │ │ └── convolution-3d.h │ ├── jacobi-1d-imper │ │ ├── Makefile │ │ └── jacobi-1d-imper.h │ └── jacobi-2d-imper │ │ ├── Makefile │ │ └── jacobi-2d-imper.h ├── medley │ ├── reg_detect │ │ └── Makefile │ └── floyd-warshall │ │ ├── Makefile │ │ └── floyd-warshall.h ├── datamining │ ├── correlation │ │ ├── Makefile │ │ └── correlation.h │ └── covariance │ │ ├── Makefile │ │ └── covariance.h └── AUTHORS ├── CUDA ├── utilities │ ├── common.mk │ └── polybenchUtilFuncts.h ├── stencils │ ├── adi │ │ ├── Makefile │ │ └── adi.cuh │ ├── fdtd-2d │ │ └── Makefile │ ├── jacobi-1d-imper │ │ └── Makefile │ ├── jacobi-2d-imper │ │ └── Makefile │ ├── convolution-2d │ │ └── Makefile │ └── convolution-3d │ │ └── Makefile ├── linear-algebra │ ├── kernels │ │ ├── 2mm │ │ │ └── Makefile │ │ ├── 3mm │ │ │ └── Makefile │ │ ├── mvt │ │ │ ├── Makefile │ │ │ └── mvt.cuh │ │ ├── atax │ │ │ └── Makefile │ │ ├── bicg │ │ │ └── Makefile │ │ ├── gemm │ │ │ └── Makefile │ │ ├── syr2k │ │ │ └── Makefile │ │ ├── syrk │ │ │ ├── Makefile │ │ │ └── syrk.cuh │ │ ├── gemver │ │ │ └── Makefile │ │ ├── doitgen │ │ │ └── Makefile │ │ └── gesummv │ │ │ ├── Makefile │ │ │ └── gesummv.cuh │ └── solvers │ │ ├── lu │ │ ├── Makefile │ │ └── lu.cuh │ │ └── gramschmidt │ │ └── Makefile └── datamining │ ├── covariance │ └── Makefile │ └── correlation │ └── Makefile ├── OpenCL ├── stencils │ ├── adi │ │ ├── Makefile │ │ └── adi.h │ ├── fdtd-2d │ │ └── Makefile │ ├── jacobi-1d-imper │ │ ├── Makefile │ │ └── jacobi1D.cl │ ├── jacobi-2d-imper │ │ ├── Makefile │ │ └── jacobi2D.cl │ ├── convolution-2d │ │ ├── Makefile │ │ └── 2DConvolution.cl │ └── convolution-3d │ │ └── Makefile ├── linear-algebra │ ├── kernels │ │ ├── 2mm │ │ │ ├── Makefile │ │ │ └── 2mm.cl │ │ ├── 3mm │ │ │ └── Makefile │ │ ├── mvt │ │ │ ├── Makefile │ │ │ ├── mvt.cl │ │ │ └── mvt.h │ │ ├── atax │ │ │ ├── Makefile │ │ │ └── atax.cl │ │ ├── bicg │ │ │ ├── Makefile │ │ │ └── bicg.cl │ │ ├── gemm │ │ │ ├── Makefile │ │ │ └── gemm.cl │ │ ├── syr2k │ │ │ ├── Makefile │ │ │ └── syr2k.cl │ │ ├── syrk │ │ │ ├── Makefile │ │ │ └── syrk.cl │ │ ├── gemver │ │ │ └── Makefile │ │ ├── doitgen │ │ │ ├── Makefile │ │ │ └── doitgen.cl │ │ └── gesummv │ │ │ ├── Makefile │ │ │ ├── gesummv.cl │ │ │ └── gesummv.h │ └── solvers │ │ ├── lu │ │ ├── Makefile │ │ ├── lu.cl │ │ └── lu.h │ │ └── gramschmidt │ │ └── Makefile ├── datamining │ ├── covariance │ │ └── Makefile │ └── correlation │ │ └── Makefile └── utilities │ ├── config.h │ ├── common.mk │ └── polybenchUtilFuncts.h ├── .gitignore └── common └── polybenchUtilFuncts.h /OpenACC/linear-algebra/kernels/2mm/.gitignore: -------------------------------------------------------------------------------- 1 | 2mm 2 | -------------------------------------------------------------------------------- /HMPP/utilities/c.mk: -------------------------------------------------------------------------------- 1 | UTIL_DIR = ../../utilities 2 | -include $(UTIL_DIR)/common.mk -------------------------------------------------------------------------------- /OpenACC/utilities/c.mk: -------------------------------------------------------------------------------- 1 | UTIL_DIR = ../../utilities 2 | -include $(UTIL_DIR)/common.mk -------------------------------------------------------------------------------- /OpenMP/utilities/c.mk: -------------------------------------------------------------------------------- 1 | UTIL_DIR = ../../utilities 2 | -include $(UTIL_DIR)/common.mk -------------------------------------------------------------------------------- /HMPP/utilities/c2.mk: -------------------------------------------------------------------------------- 1 | UTIL_DIR = ../../../utilities 2 | -include $(UTIL_DIR)/common.mk -------------------------------------------------------------------------------- /OpenACC/utilities/c2.mk: -------------------------------------------------------------------------------- 1 | UTIL_DIR = ../../../utilities 2 | -include $(UTIL_DIR)/common.mk -------------------------------------------------------------------------------- /OpenMP/utilities/c2.mk: -------------------------------------------------------------------------------- 1 | UTIL_DIR = ../../../utilities 2 | -include $(UTIL_DIR)/common.mk -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/2mm/compiler.opts: -------------------------------------------------------------------------------- 1 | -DNI=1024 -DNJ=1024 -DNK=1024 -DNL=1024 2 | -------------------------------------------------------------------------------- /OpenACC/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | *-data.c 3 | *.cl 4 | Makefile.dep 5 | *.sl3 6 | rose_*.c 7 | 8 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/2mm/compiler.opts: -------------------------------------------------------------------------------- 1 | -DNI=1024 -DNJ=1024 -DNK=1024 -DNL=1024 2 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/2mm/compiler.opts: -------------------------------------------------------------------------------- 1 | -DNI=1024 -DNJ=1024 -DNK=1024 -DNL=1024 2 | -------------------------------------------------------------------------------- /HMPP/stencils/adi/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/adi/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/adi/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/3mm/compiler.opts: -------------------------------------------------------------------------------- 1 | -DNI=1024 -DNJ=1024 -DNK=1024 -DNL=1024 -DNM=1024 2 | -------------------------------------------------------------------------------- /HMPP/medley/reg_detect/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/stencils/fdtd-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/stencils/fdtd-apml/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/stencils/seidel-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/3mm/compiler.opts: -------------------------------------------------------------------------------- 1 | -DNI=1024 -DNJ=1024 -DNK=1024 -DNL=1024 -DNM=1024 2 | -------------------------------------------------------------------------------- /OpenACC/medley/reg_detect/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/fdtd-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/3mm/compiler.opts: -------------------------------------------------------------------------------- 1 | -DNI=1024 -DNJ=1024 -DNK=1024 -DNL=1024 -DNM=1024 2 | -------------------------------------------------------------------------------- /OpenMP/medley/reg_detect/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/fdtd-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/fdtd-apml/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/seidel-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/datamining/correlation/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/datamining/covariance/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/medley/floyd-warshall/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/stencils/convolution-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/stencils/convolution-3d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/stencils/jacobi-1d-imper/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /HMPP/stencils/jacobi-2d-imper/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/datamining/correlation/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/datamining/covariance/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/medley/floyd-warshall/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/fdtd-apml/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/seidel-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/datamining/correlation/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/datamining/covariance/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/medley/floyd-warshall/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/convolution-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/convolution-3d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/convolution-2d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/convolution-3d/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/jacobi-1d-imper/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenACC/stencils/jacobi-2d-imper/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/jacobi-1d-imper/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /OpenMP/stencils/jacobi-2d-imper/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../utilities/options.mk 2 | -include ../../utilities/c.mk -------------------------------------------------------------------------------- /CUDA/utilities/common.mk: -------------------------------------------------------------------------------- 1 | all: 2 | nvcc -O3 ${CUFILES} -I${PATH_TO_UTILS} -o ${EXECUTABLE} 3 | clean: 4 | rm -f *~ *.exe -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/2mm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/3mm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/atax/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/bicg/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/gemm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/mvt/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/symm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/syr2k/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/syrk/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/trmm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/lu/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/lu/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/2mm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/3mm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/mvt/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/lu/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/cholesky/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/doitgen/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/gemver/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/gesummv/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/trisolv/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/durbin/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/dynprog/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/ludcmp/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/2mm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/3mm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/atax/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/bicg/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/doitgen/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/gemm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/gemver/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/gesummv/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/mvt/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/symm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/syr2k/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/syrk/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/trisolv/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/trmm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/durbin/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/dynprog/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/ludcmp/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/atax/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/bicg/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/cholesky/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/doitgen/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/gemm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/gemver/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/gesummv/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/symm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/syr2k/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/syrk/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/trisolv/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/trmm/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/durbin/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/dynprog/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/ludcmp/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/gramschmidt/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/cholesky/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/gramschmidt/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/gramschmidt/Makefile: -------------------------------------------------------------------------------- 1 | -include ../../../utilities/options.mk 2 | -include ../../../utilities/c2.mk 3 | 4 | -------------------------------------------------------------------------------- /CUDA/stencils/adi/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := adi.exe 2 | CUFILES := adi.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/stencils/adi/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := adi.exe 2 | CFILES := adi.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/stencils/fdtd-2d/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := fdtd2d.exe 2 | CUFILES := fdtd2d.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/stencils/fdtd-2d/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := fdtd2d.exe 2 | CFILES := fdtd2d.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/2mm/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 2mm.exe 2 | CUFILES := 2mm.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/3mm/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 3mm.exe 2 | CUFILES := 3mm.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/mvt/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := mvt.exe 2 | CUFILES := mvt.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/solvers/lu/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := lu.exe 2 | CUFILES := lu.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/2mm/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 2mm.exe 2 | CFILES := 2mm.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/3mm/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 3mm.exe 2 | CFILES := 3mm.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/mvt/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := mvt.exe 2 | CFILES := mvt.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/solvers/lu/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := lu.exe 2 | CFILES := lu.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/datamining/covariance/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := covariance.exe 2 | CUFILES := covariance.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/atax/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := atax.exe 2 | CUFILES := atax.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/bicg/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := bicg.exe 2 | CUFILES := bicg.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/gemm/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gemm.exe 2 | CUFILES := gemm.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/syr2k/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := syr2k.exe 2 | CUFILES := syr2k.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/syrk/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := syrk.exe 2 | CUFILES := syrk.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/stencils/jacobi-1d-imper/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := jacobi1D.exe 2 | CUFILES := jacobi1D.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/stencils/jacobi-2d-imper/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := jacobi2D.exe 2 | CUFILES := jacobi2D.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/datamining/covariance/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := covariance.exe 2 | CFILES := covariance.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/atax/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := atax.exe 2 | CFILES := atax.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/bicg/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := bicg.exe 2 | CFILES := bicg.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/gemm/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gemm.exe 2 | CFILES := gemm.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/syr2k/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := syr2k.exe 2 | CFILES := syr2k.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/syrk/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := syrk.exe 2 | CFILES := syrk.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/stencils/jacobi-1d-imper/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := jacobi1D.exe 2 | CFILES := jacobi1D.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/stencils/jacobi-2d-imper/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := jacobi2D.exe 2 | CFILES := jacobi2D.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/gemver/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gemver.exe 2 | CUFILES := gemver.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/datamining/correlation/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := correlation.exe 2 | CFILES := correlation.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/gemver/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gemver.exe 2 | CFILES := gemver.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/datamining/correlation/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := correlation.exe 2 | CUFILES := correlation.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk 6 | -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/doitgen/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := doitgen.exe 2 | CUFILES := doitgen.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/gesummv/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gesummv.exe 2 | CUFILES := gesummv.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/stencils/convolution-2d/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 2DConvolution.exe 2 | CUFILES := 2DConvolution.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/stencils/convolution-3d/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 3DConvolution.exe 2 | CUFILES := 3DConvolution.cu 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /HMPP/stencils/jacobi-1d-imper/Makefile.dep: -------------------------------------------------------------------------------- 1 | jacobi-1d-imper.o: jacobi-1d-imper.c ../../utilities/polybench.h \ 2 | jacobi-1d-imper.h 3 | polybench.o: ../../utilities/polybench.c 4 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/doitgen/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := doitgen.exe 2 | CFILES := doitgen.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/gesummv/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gesummv.exe 2 | CFILES := gesummv.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/stencils/convolution-2d/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 2DConvolution.exe 2 | CFILES := 2DConvolution.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/stencils/convolution-3d/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := 3DConvolution.exe 2 | CFILES := 3DConvolution.c 3 | PATH_TO_UTILS := ../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /CUDA/linear-algebra/solvers/gramschmidt/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gramschmidt.exe 2 | CUFILES := gramschmidt.cu 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /OpenCL/linear-algebra/solvers/gramschmidt/Makefile: -------------------------------------------------------------------------------- 1 | EXECUTABLE := gramschmidt.exe 2 | CFILES := gramschmidt.c 3 | PATH_TO_UTILS := ../../../utilities 4 | 5 | include ${PATH_TO_UTILS}/common.mk -------------------------------------------------------------------------------- /HMPP/utilities/papi_counters.list: -------------------------------------------------------------------------------- 1 | // Counters must be delimited with ',' including the last one. 2 | // C/C++ comments are allowed. 3 | // Both native and standard PAPI events are supported. 4 | "PAPI_TOT_CYC", 5 | "L1D:REPL", 6 | -------------------------------------------------------------------------------- /OpenACC/utilities/papi_counters.list: -------------------------------------------------------------------------------- 1 | // Counters must be delimited with ',' including the last one. 2 | // C/C++ comments are allowed. 3 | // Both native and standard PAPI events are supported. 4 | "PAPI_TOT_CYC", 5 | "L1D:REPL", 6 | -------------------------------------------------------------------------------- /OpenMP/utilities/papi_counters.list: -------------------------------------------------------------------------------- 1 | // Counters must be delimited with ',' including the last one. 2 | // C/C++ comments are allowed. 3 | // Both native and standard PAPI events are supported. 4 | "PAPI_TOT_CYC", 5 | "L1D:REPL", 6 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | make -C kernels all 4 | make -C solvers all 5 | 6 | check: 7 | make -C kernels check 8 | make -C solvers check 9 | 10 | clean: 11 | make -C kernels clean 12 | make -C solvers clean 13 | 14 | -------------------------------------------------------------------------------- /OpenACC/datamining/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | # make -C correlation all 4 | # make -C covariance all 5 | 6 | check: 7 | # make -C correlation check 8 | # make -C covariance check 9 | 10 | clean: 11 | # make -C correlation clean 12 | # make -C covariance clean 13 | 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Object files 2 | *.o 3 | 4 | # Libraries 5 | *.lib 6 | *.a 7 | 8 | # Shared objects (inc. Windows DLLs) 9 | *.dll 10 | *.so 11 | *.so.* 12 | *.dylib 13 | 14 | # Executables 15 | *.exe 16 | *.out 17 | *.app 18 | 19 | # Temp Files 20 | *~ 21 | #*# 22 | 23 | -------------------------------------------------------------------------------- /OpenACC/medley/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | # make -C floyd-warshall all 4 | # make -C reg_detect all 5 | 6 | check: 7 | # make -C floyd-warshall check 8 | # make -C reg_detect check 9 | 10 | clean: 11 | # make -C floyd-warshall clean 12 | # make -C reg_detect clean 13 | 14 | -------------------------------------------------------------------------------- /OpenCL/utilities/config.h: -------------------------------------------------------------------------------- 1 | #ifndef POLYBENCH_ACC_CONFIG_H 2 | #define POLYBENCH_ACC_CONFIG_H 3 | 4 | #ifndef OPENCL_DEVICE_SELECTION 5 | #define OPENCL_DEVICE_SELECTION CL_DEVICE_TYPE_GPU 6 | #endif 7 | 8 | #ifndef RUN_ON_CPU 9 | #define RUN_ON_CPU (1) 10 | #endif 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /OpenCL/utilities/common.mk: -------------------------------------------------------------------------------- 1 | OpenCL_SDK=/global/homes/s/sgrauerg/NVIDIA_GPU_Computing_SDK 2 | INCLUDE=-I${OpenCL_SDK}/OpenCL/common/inc -I${PATH_TO_UTILS} 3 | LIBPATH=-L${OpenCL_SDK}/OpenCL/common/lib -L${OpenCL_SDK}/shared/lib 4 | LIB=-lOpenCL -lm 5 | all: 6 | gcc -O3 ${INCLUDE} ${LIBPATH} ${LIB} ${CFILES} -o ${EXECUTABLE} 7 | 8 | clean: 9 | rm -f *~ *.exe *.txt 10 | -------------------------------------------------------------------------------- /OpenACC/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | make -C datamining all 4 | make -C linear-algebra all 5 | make -C medley all 6 | make -C stencils all 7 | 8 | check: 9 | make -C datamining check 10 | make -C linear-algebra check 11 | make -C medley check 12 | make -C stencils check 13 | 14 | clean: 15 | make -C datamining clean 16 | make -C linear-algebra clean 17 | make -C medley clean 18 | make -C stencils clean 19 | 20 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | # make -C durbin all 4 | # make -C dynprog all 5 | # make -C gramschmidt all 6 | # make -C lu all 7 | # make -C ludcmp all 8 | 9 | check: 10 | # make -C durbin check 11 | # make -C dynprog check 12 | # make -C gramschmidt check 13 | # make -C lu check 14 | # make -C ludcmp check 15 | 16 | clean: 17 | # make -C durbin clean 18 | # make -C dynprog clean 19 | # make -C gramschmidt clean 20 | # make -C lu clean 21 | # make -C ludcmp clean 22 | 23 | -------------------------------------------------------------------------------- /OpenACC/utilities/options.mk: -------------------------------------------------------------------------------- 1 | 2 | # COMPILER OPTIONS -- ACCELERATOR 3 | ######################################## 4 | 5 | # Accelerator Compiler 6 | ACC = roseacc 7 | 8 | # Accelerator Compiler flags 9 | ACCFLAGS=--roseacc:desc_format=static_data --roseacc:compile=false 10 | 11 | ACC_INC_PATH=`openacc --incpath` 12 | ACC_LIB_PATH=`openacc --libpath` 13 | ACC_LIBS=`openacc --libs` 14 | 15 | # COMPILER OPTIONS -- HOST 16 | ######################################## 17 | 18 | # Compiler 19 | CC = gcc 20 | 21 | # Compiler flags 22 | CFLAGS = -O2 23 | 24 | -------------------------------------------------------------------------------- /HMPP/utilities/options.mk: -------------------------------------------------------------------------------- 1 | # CODE GENERATION OPTIONS 2 | ######################################## 3 | 4 | # Default OpenACC Target is OpenCL 5 | TARGET_LANG = OPENCL 6 | 7 | # Uncomment if you want CUDA 8 | # TARGET_LANG = CUDA 9 | 10 | # COMPILER OPTIONS -- ACCELERATOR 11 | ######################################## 12 | 13 | # Accelerator Compiler 14 | HMPP = capsmc 15 | 16 | # Accelerator Compiler flags 17 | HMPPFLAGS = --codelet-required 18 | 19 | # COMPILER OPTIONS -- HOST 20 | ######################################## 21 | 22 | # Compiler 23 | CC = gcc 24 | 25 | # Compiler flags 26 | CFLAGS = -O2 27 | -------------------------------------------------------------------------------- /HMPP/AUTHORS: -------------------------------------------------------------------------------- 1 | **Authors of PolyBench/GPU-HMPP** 2 | 3 | William Killian 4 | * Who annotated all test files to include a subset of HMPP Directives 5 | 6 | Scott Grauer-Gray 7 | * Who provided 2D- and 3D-convolution kernel code 8 | 9 | Louis-Noel Pouchet 10 | * Who provided packaging and harmonization of all test files, the PolyBench infrastructure and machinery, and several reference C files. 11 | 12 | Uday Bondugula 13 | * Who provided many of the original reference C files, including Fortran to C translation. 14 | 15 | -------------------------------------------------------------------------------- /OpenACC/AUTHORS: -------------------------------------------------------------------------------- 1 | **Authors of PolyBench/GPU-OpenACC** 2 | 3 | William Killian 4 | * Who annotated all test files to include a subset of OpenACC Directives 5 | 6 | Scott Grauer-Gray 7 | * Who provided 2D- and 3D-convolution kernel code 8 | 9 | Louis-Noel Pouchet 10 | * Who provided packaging and harmonization of all test files, the PolyBench infrastructure and machinery, and several reference C files. 11 | 12 | Uday Bondugula 13 | * Who provided many of the original reference C files, including Fortran to C translation. 14 | 15 | -------------------------------------------------------------------------------- /OpenMP/AUTHORS: -------------------------------------------------------------------------------- 1 | **Authors of PolyBench/GPU-OpenACC** 2 | 3 | William Killian 4 | * Who annotated all test files to include a subset of OpenACC Directives 5 | 6 | Scott Grauer-Gray 7 | * Who provided 2D- and 3D-convolution kernel code 8 | 9 | Louis-Noel Pouchet 10 | * Who provided packaging and harmonization of all test files, the PolyBench infrastructure and machinery, and several reference C files. 11 | 12 | Uday Bondugula 13 | * Who provided many of the original reference C files, including Fortran to C translation. 14 | 15 | -------------------------------------------------------------------------------- /OpenMP/utilities/options.mk: -------------------------------------------------------------------------------- 1 | # CODE GENERATION OPTIONS 2 | ######################################## 3 | 4 | # Default OpenACC Target is OpenCL 5 | TARGET_LANG = OPENCL 6 | 7 | # Uncomment if you want CUDA 8 | # TARGET_LANG = CUDA 9 | 10 | # COMPILER OPTIONS -- ACCELERATOR 11 | ######################################## 12 | 13 | # Accelerator Compiler 14 | ACC = hmpp 15 | 16 | # Accelerator Compiler flags 17 | ACCFLAGS = --codelet-required --openacc-target=$(TARGET_LANG) 18 | 19 | # COMPILER OPTIONS -- HOST 20 | ######################################## 21 | 22 | # Compiler 23 | CC = gcc 24 | 25 | # Compiler flags 26 | CFLAGS = -O2 27 | -------------------------------------------------------------------------------- /OpenMP/utilities/common.mk: -------------------------------------------------------------------------------- 1 | INCPATHS = -I$(UTIL_DIR) 2 | 3 | BENCHMARK = $(shell basename `pwd`) 4 | EXE = $(BENCHMARK)_acc 5 | SRC = $(BENCHMARK).c 6 | HEADERS = $(BENCHMARK).h 7 | 8 | SRC += $(UTIL_DIR)/polybench.c 9 | 10 | DEPS := Makefile.dep 11 | DEP_FLAG := -MM 12 | 13 | .PHONY: all exe clean veryclean 14 | 15 | all : exe 16 | 17 | exe : $(EXE) 18 | 19 | $(EXE) : $(SRC) 20 | $(ACC) $(ACCFLAGS) $(CC) $(CFLAGS) $(INCPATHS) $^ -o $@ 21 | 22 | clean : 23 | -rm -vf __hmpp* -vf $(EXE) *~ 24 | 25 | veryclean : clean 26 | -rm -vf $(DEPS) 27 | 28 | $(DEPS): $(SRC) $(HEADERS) 29 | $(CC) $(INCPATHS) $(DEP_FLAG) $(SRC) > $(DEPS) 30 | 31 | -include $(DEPS) -------------------------------------------------------------------------------- /HMPP/utilities/common.mk: -------------------------------------------------------------------------------- 1 | INCPATHS = -I$(UTIL_DIR) 2 | 3 | BENCHMARK = $(shell basename `pwd`) 4 | EXE = $(BENCHMARK)_hmpp 5 | SRC = $(BENCHMARK).c 6 | HEADERS = $(BENCHMARK).h 7 | 8 | SRC += $(UTIL_DIR)/polybench.c 9 | 10 | DEPS := Makefile.dep 11 | DEP_FLAG := -MM 12 | 13 | .PHONY: all exe clean veryclean 14 | 15 | all : exe 16 | 17 | exe : $(EXE) 18 | 19 | $(EXE) : $(SRC) 20 | $(HMPP) $(HMPPFLAGS) $(CC) $(CFLAGS) $(INCPATHS) $^ -o $@ 21 | 22 | clean : 23 | -rm -vf *.hmc* -vf $(EXE) *~ 24 | 25 | veryclean : clean 26 | -rm -vf $(DEPS) 27 | 28 | $(DEPS): $(SRC) $(HEADERS) 29 | $(CC) $(INCPATHS) $(DEP_FLAG) $(SRC) > $(DEPS) 30 | 31 | -include $(DEPS) 32 | -------------------------------------------------------------------------------- /common/polybenchUtilFuncts.h: -------------------------------------------------------------------------------- 1 | //polybenchUtilFuncts.h 2 | //Scott Grauer-Gray (sgrauerg@gmail.com) 3 | //Functions used across codes 4 | 5 | #ifndef POLYBENCH_UTIL_FUNCTS_H 6 | #define POLYBENCH_UTIL_FUNCTS_H 7 | 8 | //define a small float value 9 | #define SMALL_FLOAT_VAL 0.00000001f 10 | 11 | 12 | float absVal(float a) 13 | { 14 | if(a < 0) 15 | { 16 | return (a * -1); 17 | } 18 | else 19 | { 20 | return a; 21 | } 22 | } 23 | 24 | 25 | 26 | float percentDiff(double val1, double val2) 27 | { 28 | if ((absVal(val1) < 0.01) && (absVal(val2) < 0.01)) 29 | { 30 | return 0.0f; 31 | } 32 | 33 | else 34 | { 35 | return 100.0f * (absVal(absVal(val1 - val2) / absVal(val1 + SMALL_FLOAT_VAL))); 36 | } 37 | } 38 | 39 | #endif //POLYBENCH_UTIL_FUNCTS_H -------------------------------------------------------------------------------- /CUDA/utilities/polybenchUtilFuncts.h: -------------------------------------------------------------------------------- 1 | //polybenchUtilFuncts.h 2 | //Scott Grauer-Gray (sgrauerg@gmail.com) 3 | //Functions used across codes 4 | 5 | #ifndef POLYBENCH_UTIL_FUNCTS_H 6 | #define POLYBENCH_UTIL_FUNCTS_H 7 | 8 | //define a small float value 9 | #define SMALL_FLOAT_VAL 0.00000001f 10 | 11 | 12 | float absVal(float a) 13 | { 14 | if(a < 0) 15 | { 16 | return (a * -1); 17 | } 18 | else 19 | { 20 | return a; 21 | } 22 | } 23 | 24 | 25 | 26 | float percentDiff(double val1, double val2) 27 | { 28 | if ((absVal(val1) < 0.01) && (absVal(val2) < 0.01)) 29 | { 30 | return 0.0f; 31 | } 32 | 33 | else 34 | { 35 | return 100.0f * (absVal(absVal(val1 - val2) / absVal(val1 + SMALL_FLOAT_VAL))); 36 | } 37 | } 38 | 39 | #endif //POLYBENCH_UTIL_FUNCTS_H -------------------------------------------------------------------------------- /OpenCL/utilities/polybenchUtilFuncts.h: -------------------------------------------------------------------------------- 1 | //polybenchUtilFuncts.h 2 | //Scott Grauer-Gray (sgrauerg@gmail.com) 3 | //Functions used across codes 4 | 5 | #ifndef POLYBENCH_UTIL_FUNCTS_H 6 | #define POLYBENCH_UTIL_FUNCTS_H 7 | 8 | //define a small float value 9 | #define SMALL_FLOAT_VAL 0.00000001f 10 | 11 | 12 | float absVal(float a) 13 | { 14 | if(a < 0) 15 | { 16 | return (a * -1); 17 | } 18 | else 19 | { 20 | return a; 21 | } 22 | } 23 | 24 | 25 | 26 | float percentDiff(double val1, double val2) 27 | { 28 | if ((absVal(val1) < 0.01) && (absVal(val2) < 0.01)) 29 | { 30 | return 0.0f; 31 | } 32 | 33 | else 34 | { 35 | return 100.0f * (absVal(absVal(val1 - val2) / absVal(val1 + SMALL_FLOAT_VAL))); 36 | } 37 | } 38 | 39 | #endif //POLYBENCH_UTIL_FUNCTS_H -------------------------------------------------------------------------------- /OpenACC/stencils/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | # make -C adi all 4 | # make -C convolution-2d all 5 | # make -C convolution-3d all 6 | # make -C fdtd-2d all 7 | # make -C fdtd-apml all 8 | # make -C jacobi-1d-imper all 9 | # make -C jacobi-2d-imper all 10 | # make -C seidel-2d all 11 | 12 | check: 13 | # make -C adi check 14 | # make -C convolution-2d check 15 | # make -C convolution-3d check 16 | # make -C fdtd-2d check 17 | # make -C fdtd-apml check 18 | # make -C jacobi-1d-imper check 19 | # make -C jacobi-2d-imper check 20 | # make -C seidel-2d check 21 | 22 | clean: 23 | # make -C adi clean 24 | # make -C convolution-2d clean 25 | # make -C convolution-3d clean 26 | # make -C fdtd-2d clean 27 | # make -C fdtd-apml clean 28 | # make -C jacobi-1d-imper clean 29 | # make -C jacobi-2d-imper clean 30 | # make -C seidel-2d clean 31 | 32 | -------------------------------------------------------------------------------- /OpenACC/utilities/common.mk: -------------------------------------------------------------------------------- 1 | INCPATHS = -I$(UTIL_DIR) 2 | 3 | BENCHMARK = $(shell basename `pwd`) 4 | EXE = $(BENCHMARK) 5 | OBJ = rose_$(BENCHMARK).c 6 | SRC = $(BENCHMARK).c 7 | HEADERS = $(BENCHMARK).h 8 | 9 | DEPS := Makefile.dep 10 | DEP_FLAG := -MM 11 | 12 | .PHONY: all exe clean veryclean 13 | 14 | all : exe 15 | 16 | exe : $(EXE) 17 | 18 | $(OBJ) : $(SRC) 19 | $(ACC) $(ACCFLAGS) $(ACC_INC_PATH) $(INCPATHS) $^ 20 | 21 | $(EXE) : $(OBJ) $(BENCHMARK)-data.c $(UTIL_DIR)/polybench.c 22 | $(CC) -o $@ $(CFLAGS) $(ACC_INC_PATH) $(ACC_LIB_PATH) $(INCPATHS) $^ $(ACC_LIBS) 23 | 24 | check: exe 25 | ./$(EXE) 26 | 27 | clean : 28 | -rm -vf __hmpp* -vf $(EXE) *~ 29 | -rm -rf rose_$(BENCHMARK).c $(BENCHMARK)-data.c $(BENCHMARK).cl $(BENCHMARK) 30 | 31 | veryclean : clean 32 | -rm -vf $(DEPS) 33 | 34 | $(DEPS): $(SRC) $(HEADERS) 35 | $(CC) $(INCPATHS) $(DEP_FLAG) $(SRC) > $(DEPS) 36 | 37 | -include $(DEPS) 38 | -------------------------------------------------------------------------------- /HMPP/utilities/create_cpped_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ## create_cpped_version.sh for in /Users/pouchet 3 | ## 4 | ## Made by Louis-Noel Pouchet 5 | ## Contact: 6 | ## 7 | ## Started on Mon Oct 31 16:20:01 2011 Louis-Noel Pouchet 8 | ## Last update Mon Oct 31 20:42:35 2011 Louis-Noel Pouchet 9 | ## 10 | 11 | if [ $# -lt 1 ]; then 12 | echo "Usage: create_cpped_version.sh [gcc -E flags]"; 13 | exit 1; 14 | fi; 15 | args="$2"; 16 | file="$1"; 17 | head -n 12 $file > .__poly_top.c; 18 | tail -n +12 $file > .__poly_bottom.c; 19 | filename=`echo "$file" | sed -e "s/\(.*\).c/\1/1"`; 20 | filenameorig=`basename $file`; 21 | benchdir=`dirname "$file"`; 22 | gcc -E .__poly_bottom.c -I $benchdir $args 2>/dev/null > .__tmp_poly.c 23 | sed -e "/^[ ]*;[ ]*$/d" .__tmp_poly.c | sed -e "s~.__poly_bottom.c~$filenameorig~g" > .__poly_bottom.c; 24 | cat .__poly_top.c > $filename.preproc.c; 25 | echo "#include \n" >> $filename.preproc.c; 26 | cat .__poly_bottom.c >> $filename.preproc.c; 27 | rm -f .__tmp_poly.c .__poly_bottom.c .__poly_top.c; 28 | 29 | -------------------------------------------------------------------------------- /OpenACC/utilities/create_cpped_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ## create_cpped_version.sh for in /Users/pouchet 3 | ## 4 | ## Made by Louis-Noel Pouchet 5 | ## Contact: 6 | ## 7 | ## Started on Mon Oct 31 16:20:01 2011 Louis-Noel Pouchet 8 | ## Last update Mon Oct 31 20:42:35 2011 Louis-Noel Pouchet 9 | ## 10 | 11 | if [ $# -lt 1 ]; then 12 | echo "Usage: create_cpped_version.sh [gcc -E flags]"; 13 | exit 1; 14 | fi; 15 | args="$2"; 16 | file="$1"; 17 | head -n 12 $file > .__poly_top.c; 18 | tail -n +12 $file > .__poly_bottom.c; 19 | filename=`echo "$file" | sed -e "s/\(.*\).c/\1/1"`; 20 | filenameorig=`basename $file`; 21 | benchdir=`dirname "$file"`; 22 | gcc -E .__poly_bottom.c -I $benchdir $args 2>/dev/null > .__tmp_poly.c 23 | sed -e "/^[ ]*;[ ]*$/d" .__tmp_poly.c | sed -e "s~.__poly_bottom.c~$filenameorig~g" > .__poly_bottom.c; 24 | cat .__poly_top.c > $filename.preproc.c; 25 | echo "#include \n" >> $filename.preproc.c; 26 | cat .__poly_bottom.c >> $filename.preproc.c; 27 | rm -f .__tmp_poly.c .__poly_bottom.c .__poly_top.c; 28 | 29 | -------------------------------------------------------------------------------- /OpenMP/utilities/create_cpped_version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ## create_cpped_version.sh for in /Users/pouchet 3 | ## 4 | ## Made by Louis-Noel Pouchet 5 | ## Contact: 6 | ## 7 | ## Started on Mon Oct 31 16:20:01 2011 Louis-Noel Pouchet 8 | ## Last update Mon Oct 31 20:42:35 2011 Louis-Noel Pouchet 9 | ## 10 | 11 | if [ $# -lt 1 ]; then 12 | echo "Usage: create_cpped_version.sh [gcc -E flags]"; 13 | exit 1; 14 | fi; 15 | args="$2"; 16 | file="$1"; 17 | head -n 12 $file > .__poly_top.c; 18 | tail -n +12 $file > .__poly_bottom.c; 19 | filename=`echo "$file" | sed -e "s/\(.*\).c/\1/1"`; 20 | filenameorig=`basename $file`; 21 | benchdir=`dirname "$file"`; 22 | gcc -E .__poly_bottom.c -I $benchdir $args 2>/dev/null > .__tmp_poly.c 23 | sed -e "/^[ ]*;[ ]*$/d" .__tmp_poly.c | sed -e "s~.__poly_bottom.c~$filenameorig~g" > .__poly_bottom.c; 24 | cat .__poly_top.c > $filename.preproc.c; 25 | echo "#include \n" >> $filename.preproc.c; 26 | cat .__poly_bottom.c >> $filename.preproc.c; 27 | rm -f .__tmp_poly.c .__poly_bottom.c .__poly_top.c; 28 | 29 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/gemm/gemm.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * gemm.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | 20 | 21 | __kernel void gemm(__global DATA_TYPE *a, __global DATA_TYPE *b, __global DATA_TYPE *c, DATA_TYPE alpha, DATA_TYPE beta, int ni, int nj, int nk) 22 | { 23 | int j = get_global_id(0); 24 | int i = get_global_id(1); 25 | 26 | if ((i < ni) && (j < nj)) 27 | { 28 | c[i * nj + j] *= beta; 29 | int k; 30 | for(k=0; k < nk; k++) 31 | { 32 | c[i * nj + j] += alpha * a[i * nk + k] * b[k * nj +j]; 33 | } 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/syrk/syrk.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * syrk.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | 20 | /* C := alpha*A*A' + beta*C */ 21 | __kernel void syrk_kernel(__global DATA_TYPE *a, __global DATA_TYPE *c, DATA_TYPE alpha, DATA_TYPE beta, int ni, int nj) 22 | { 23 | int j = get_global_id(0); 24 | int i = get_global_id(1); 25 | 26 | if ((i < nj) && (j < nj)) 27 | { 28 | c[i * nj + j] *= beta; 29 | int k; 30 | for(k=0; k< ni; k++) 31 | { 32 | c[i * nj + j] += alpha * a[i * ni + k] * a[j * ni + k]; 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /OpenCL/stencils/jacobi-1d-imper/jacobi1D.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi1D.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | 20 | __kernel void runJacobi1D_kernel1(__global DATA_TYPE* A, __global DATA_TYPE* B, int n) 21 | { 22 | int i = get_global_id(0); 23 | if ((i >= 1) && (i < (n-1))) 24 | { 25 | B[i] = 0.33333f * (A[i-1] + A[i] + A[i + 1]); 26 | } 27 | } 28 | 29 | __kernel void runJacobi1D_kernel2(__global DATA_TYPE* A, __global DATA_TYPE* B, int n) 30 | { 31 | int j = get_global_id(0); 32 | 33 | if ((j >= 1) && (j < (n-1))) 34 | { 35 | A[j] = B[j]; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/gesummv/gesummv.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * gesummv.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | 20 | 21 | __kernel void gesummv_kernel(__global DATA_TYPE *a, __global DATA_TYPE *b, __global DATA_TYPE *x, __global DATA_TYPE *y, __global DATA_TYPE *tmp, DATA_TYPE alpha, DATA_TYPE beta, int n) 22 | { 23 | int i = get_global_id(0); 24 | 25 | if (i < n) 26 | { 27 | int j; 28 | for(j = 0; j < n; j++) 29 | { 30 | tmp[i] += a[i * n + j] * x[j]; 31 | y[i] += b[i * n + j] * x[j]; 32 | } 33 | y[i] = alpha * tmp[i] + beta * y[i]; 34 | } 35 | } 36 | 37 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/solvers/lu/lu.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * lu.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | 18 | typedef float DATA_TYPE; 19 | 20 | 21 | 22 | __kernel void lu_kernel1(__global DATA_TYPE *A, int k, int n) 23 | { 24 | int j = get_global_id(0) + (k + 1); 25 | 26 | if ((j < n)) 27 | { 28 | A[k*n + j] = A[k*n + j] / A[k*n + k]; 29 | } 30 | } 31 | 32 | __kernel void lu_kernel2(__global DATA_TYPE *A, int k, int n) 33 | { 34 | int j = get_global_id(0) + (k + 1); 35 | int i = get_global_id(1) + (k + 1); 36 | 37 | if ((i < n) && (j < n)) 38 | { 39 | A[i*n + j] = A[i*n + j] - A[i*n + k] * A[k*n + j]; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/syr2k/syr2k.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * syr2k.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | 20 | __kernel void syr2k_kernel(__global DATA_TYPE *a, __global DATA_TYPE *b, __global DATA_TYPE *c, DATA_TYPE alpha, DATA_TYPE beta, int ni, int nj) 21 | { 22 | int j = get_global_id(0); 23 | int i = get_global_id(1); 24 | 25 | if ((i < nj) && (j < nj)) 26 | { 27 | c[i * nj + j] *= beta; 28 | 29 | int k; 30 | for(k = 0; k < ni; k++) 31 | { 32 | c[i * nj + j] += alpha * a[i * ni + k] * b[j * ni + k] + alpha * b[i * ni + k] * a[j * ni + k]; 33 | } 34 | } 35 | } 36 | 37 | 38 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/lu/lu.h: -------------------------------------------------------------------------------- 1 | /** 2 | * lu.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef LU_H 9 | # define LU_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !LU */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/lu/lu.h: -------------------------------------------------------------------------------- 1 | /** 2 | * lu.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef LU_H 9 | # define LU_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !LU */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/lu/lu.h: -------------------------------------------------------------------------------- 1 | /** 2 | * lu.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef LU_H 9 | # define LU_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !LU */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/mvt/mvt.h: -------------------------------------------------------------------------------- 1 | /** 2 | * mvt.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef MVT_H 9 | # define MVT_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !MVT */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/Makefile: -------------------------------------------------------------------------------- 1 | 2 | all: 3 | make -C 2mm all 4 | make -C 3mm all 5 | make -C atax all 6 | make -C bicg all 7 | # make -C cholesky all 8 | # make -C doitgen all 9 | # make -C gemm all 10 | # make -C gemver all 11 | # make -C gesummv all 12 | # make -C mvt all 13 | # make -C symm all 14 | # make -C syr2k all 15 | # make -C syrk all 16 | # make -C trisolv all 17 | # make -C trmm all 18 | 19 | check: 20 | make -C 2mm check 21 | make -C 3mm check 22 | make -C atax check 23 | make -C bicg check 24 | # make -C cholesky check 25 | # make -C doitgen check 26 | # make -C gemm check 27 | # make -C gemver check 28 | # make -C gesummv check 29 | # make -C mvt check 30 | # make -C symm check 31 | # make -C syr2k check 32 | # make -C syrk check 33 | # make -C trisolv check 34 | # make -C trmm check 35 | 36 | clean: 37 | make -C 2mm clean 38 | make -C 3mm clean 39 | make -C atax clean 40 | make -C bicg clean 41 | # make -C cholesky clean 42 | # make -C doitgen clean 43 | # make -C gemm clean 44 | # make -C gemver clean 45 | # make -C gesummv clean 46 | # make -C mvt clean 47 | # make -C symm clean 48 | # make -C syr2k clean 49 | # make -C syrk clean 50 | # make -C trisolv clean 51 | # make -C trmm clean 52 | 53 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/mvt/mvt.h: -------------------------------------------------------------------------------- 1 | /** 2 | * mvt.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef MVT_H 9 | # define MVT_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !MVT */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/mvt/mvt.h: -------------------------------------------------------------------------------- 1 | /** 2 | * mvt.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef MVT_H 9 | # define MVT_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !MVT */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/gemver/gemver.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gemver.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GEMVER_H 9 | # define GEMVER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !GEMVER */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/trmm/trmm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * trmm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TRMM_H 9 | # define TRMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define NI 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define NI 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define NI 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define NI 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TRMM */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/durbin/durbin.h: -------------------------------------------------------------------------------- 1 | /** 2 | * durbin.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DURBIN_H 9 | # define DURBIN_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !DURBIN */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/ludcmp/ludcmp.h: -------------------------------------------------------------------------------- 1 | /** 2 | * ludcmp.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef LUDCMP_H 9 | # define LUDCMP_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !LUDCMP */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/ludcmp/ludcmp.h: -------------------------------------------------------------------------------- 1 | /** 2 | * ludcmp.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef LUDCMP_H 9 | # define LUDCMP_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !LUDCMP */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/ludcmp/ludcmp.h: -------------------------------------------------------------------------------- 1 | /** 2 | * ludcmp.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef LUDCMP_H 9 | # define LUDCMP_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !LUDCMP */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/gesummv/gesummv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gesummv.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GESUMMV_H 9 | # define GESUMMV_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !GESUMMV */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/trisolv/trisolv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * trisolv.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TRISOLV_H 9 | # define TRISOLV_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TRISOLV */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/gemver/gemver.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gemver.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GEMVER_H 9 | # define GEMVER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !GEMVER */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/trmm/trmm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * trmm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TRMM_H 9 | # define TRMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define NI 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define NI 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define NI 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define NI 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TRMM */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/durbin/durbin.h: -------------------------------------------------------------------------------- 1 | /** 2 | * durbin.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DURBIN_H 9 | # define DURBIN_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !DURBIN */ 49 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/mvt/mvt.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * mvt.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | 20 | 21 | __kernel void mvt_kernel1(__global DATA_TYPE *a, __global DATA_TYPE *x1, __global DATA_TYPE *y1, int n) 22 | { 23 | int i = get_global_id(0); 24 | 25 | if (i < n) 26 | { 27 | int j; 28 | for (j=0; j < n; j++) 29 | { 30 | x1[i] += a[i * n + j] * y1[j]; 31 | } 32 | } 33 | } 34 | 35 | __kernel void mvt_kernel2(__global DATA_TYPE *a, __global DATA_TYPE *x2, __global DATA_TYPE *y2, int n) 36 | { 37 | int i = get_global_id(0); 38 | 39 | if (i < n) 40 | { 41 | int j; 42 | for (j=0; j < n; j++) 43 | { 44 | x2[i] += a[j * n + i] * y2[j]; 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/gemver/gemver.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gemver.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GEMVER_H 9 | # define GEMVER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !GEMVER */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/trmm/trmm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * trmm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TRMM_H 9 | # define TRMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define NI 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define NI 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define NI 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define NI 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TRMM */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/durbin/durbin.h: -------------------------------------------------------------------------------- 1 | /** 2 | * durbin.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DURBIN_H 9 | # define DURBIN_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !DURBIN */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/gesummv/gesummv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gesummv.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GESUMMV_H 9 | # define GESUMMV_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !GESUMMV */ 49 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/trisolv/trisolv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * trisolv.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TRISOLV_H 9 | # define TRISOLV_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TRISOLV */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/gesummv/gesummv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gesummv.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GESUMMV_H 9 | # define GESUMMV_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !GESUMMV */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/trisolv/trisolv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * trisolv.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TRISOLV_H 9 | # define TRISOLV_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 500 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 4000 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 8000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 100000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TRISOLV */ 49 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/cholesky/cholesky.h: -------------------------------------------------------------------------------- 1 | /** 2 | * cholesky.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CHOLESKY_H 9 | # define CHOLESKY_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !CHOLESKY */ 49 | -------------------------------------------------------------------------------- /HMPP/utilities/template-for-new-benchmark.h: -------------------------------------------------------------------------------- 1 | /** 2 | * template.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TEMPLATE_H 9 | # define TEMPLATE_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TEMPLATE */ 49 | -------------------------------------------------------------------------------- /OpenACC/utilities/template-for-new-benchmark.h: -------------------------------------------------------------------------------- 1 | /** 2 | * template.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TEMPLATE_H 9 | # define TEMPLATE_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TEMPLATE */ 49 | -------------------------------------------------------------------------------- /OpenMP/utilities/template-for-new-benchmark.h: -------------------------------------------------------------------------------- 1 | /** 2 | * template.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef TEMPLATE_H 9 | # define TEMPLATE_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !TEMPLATE */ 49 | -------------------------------------------------------------------------------- /OpenACC/README.md: -------------------------------------------------------------------------------- 1 | PolyBench/ACC - OpenACC 2 | ======================= 3 | 4 | ##Contacts 5 | * Tristan Vanderbruggen (tristan@udel.edu) 6 | * William Killian (killian@udel.edu) 7 | 8 | ##Usage 9 | 10 | * Set environment variables PATH and LD_LIBRARY_PATH for RoseACC 11 | * Run *make* (it will only build the parallelized benchmarks) 12 | 13 | ##Status 14 | 15 | We are working through the first iteration of parallelizing PolyBench using RoseACC. 16 | This iteration does not include reduction! However, it uses RoseACC's MultiDim extension. 17 | We are not looking for performance yet. 18 | 19 | Benchmarks in bold have been parallelized. Benchmarks marked with [*] have reductions. 20 | 21 | ####datamining 22 | * correlation 23 | * covariance 24 | 25 | ####linear-algebra/kernels 26 | * **2mm** [*] 27 | * **3mm** [*] 28 | * **atax** [*] 29 | * **bicg** [*] 30 | * cholesky 31 | * doitgen 32 | * gemm 33 | * gemver 34 | * gesummv 35 | * mvt 36 | * symm 37 | * syr2k 38 | * syrk 39 | * trisolv 40 | * trmm 41 | 42 | ####linear-algebra/solvers 43 | * durbin 44 | * dynprog 45 | * gramschmidt 46 | * lu 47 | * ludcmp 48 | 49 | ####stencils 50 | * adi 51 | * convolution-2d 52 | * convolution-3d 53 | * fdtd-2d 54 | * jacobi-1d-imper 55 | * jacobi-2d-imper 56 | * seidel-2d 57 | 58 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/cholesky/cholesky.h: -------------------------------------------------------------------------------- 1 | /** 2 | * cholesky.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CHOLESKY_H 9 | # define CHOLESKY_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !CHOLESKY */ 49 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/cholesky/cholesky.h: -------------------------------------------------------------------------------- 1 | /** 2 | * cholesky.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CHOLESKY_H 9 | # define CHOLESKY_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !CHOLESKY */ 49 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/atax/atax.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * atax.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | __kernel void atax_kernel1(__global DATA_TYPE *A, __global DATA_TYPE *x, __global DATA_TYPE *tmp, int nx, int ny) { 20 | 21 | int i = get_global_id(0); 22 | 23 | if (i < nx) 24 | { 25 | int j; 26 | for(j=0; j < ny; j++) 27 | { 28 | tmp[i] += A[i * ny + j] * x[j]; 29 | } 30 | } 31 | } 32 | 33 | __kernel void atax_kernel2(__global DATA_TYPE *A, __global DATA_TYPE *y, __global DATA_TYPE *tmp, int nx, int ny) { 34 | 35 | int j = get_global_id(0); 36 | 37 | if (j < ny) 38 | { 39 | int i; 40 | for(i=0; i < nx; i++) 41 | { 42 | y[j] += A[i * ny + j] * tmp[i]; 43 | } 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /HMPP/medley/floyd-warshall/floyd-warshall.h: -------------------------------------------------------------------------------- 1 | /** 2 | * floyd-warshall.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef FLOYD_WARSHALL_H 9 | # define FLOYD_WARSHALL_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !FLOYD_WARSHALL */ 49 | -------------------------------------------------------------------------------- /OpenACC/medley/floyd-warshall/floyd-warshall.h: -------------------------------------------------------------------------------- 1 | /** 2 | * floyd-warshall.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef FLOYD_WARSHALL_H 9 | # define FLOYD_WARSHALL_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !FLOYD_WARSHALL */ 49 | -------------------------------------------------------------------------------- /OpenMP/medley/floyd-warshall/floyd-warshall.h: -------------------------------------------------------------------------------- 1 | /** 2 | * floyd-warshall.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef FLOYD_WARSHALL_H 9 | # define FLOYD_WARSHALL_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # ifndef N 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # endif 22 | 23 | # ifdef SMALL_DATASET 24 | # define N 128 25 | # endif 26 | 27 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 28 | # define N 1024 29 | # endif 30 | 31 | # ifdef LARGE_DATASET 32 | # define N 2000 33 | # endif 34 | 35 | # ifdef EXTRALARGE_DATASET 36 | # define N 4000 37 | # endif 38 | # endif /* !N */ 39 | 40 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 41 | 42 | # ifndef DATA_TYPE 43 | # define DATA_TYPE double 44 | # define DATA_PRINTF_MODIFIER "%0.2lf " 45 | # endif 46 | 47 | 48 | #endif /* !FLOYD_WARSHALL */ 49 | -------------------------------------------------------------------------------- /HMPP/utilities/benchmark_list: -------------------------------------------------------------------------------- 1 | ./datamining/correlation/correlation.c 2 | ./datamining/covariance/covariance.c 3 | ./linear-algebra/kernels/2mm/2mm.c 4 | ./linear-algebra/kernels/3mm/3mm.c 5 | ./linear-algebra/kernels/atax/atax.c 6 | ./linear-algebra/kernels/bicg/bicg.c 7 | ./linear-algebra/kernels/cholesky/cholesky.c 8 | ./linear-algebra/kernels/doitgen/doitgen.c 9 | ./linear-algebra/kernels/gemm/gemm.c 10 | ./linear-algebra/kernels/gemver/gemver.c 11 | ./linear-algebra/kernels/gesummv/gesummv.c 12 | ./linear-algebra/kernels/mvt/mvt.c 13 | ./linear-algebra/kernels/symm/symm.c 14 | ./linear-algebra/kernels/syr2k/syr2k.c 15 | ./linear-algebra/kernels/syrk/syrk.c 16 | ./linear-algebra/kernels/trisolv/trisolv.c 17 | ./linear-algebra/kernels/trmm/trmm.c 18 | ./linear-algebra/solvers/durbin/durbin.c 19 | ./linear-algebra/solvers/dynprog/dynprog.c 20 | ./linear-algebra/solvers/gramschmidt/gramschmidt.c 21 | ./linear-algebra/solvers/lu/lu.c 22 | ./linear-algebra/solvers/ludcmp/ludcmp.c 23 | ./medley/floyd-warshall/floyd-warshall.c 24 | ./medley/reg_detect/reg_detect.c 25 | ./stencils/adi/adi.c 26 | ./stencils/fdtd-2d/fdtd-2d.c 27 | ./stencils/fdtd-apml/fdtd-apml.c 28 | ./stencils/jacobi-1d-imper/jacobi-1d-imper.c 29 | ./stencils/jacobi-2d-imper/jacobi-2d-imper.c 30 | ./stencils/seidel-2d/seidel-2d.c 31 | -------------------------------------------------------------------------------- /OpenMP/utilities/benchmark_list: -------------------------------------------------------------------------------- 1 | ./datamining/correlation/correlation.c 2 | ./datamining/covariance/covariance.c 3 | ./linear-algebra/kernels/2mm/2mm.c 4 | ./linear-algebra/kernels/3mm/3mm.c 5 | ./linear-algebra/kernels/atax/atax.c 6 | ./linear-algebra/kernels/bicg/bicg.c 7 | ./linear-algebra/kernels/cholesky/cholesky.c 8 | ./linear-algebra/kernels/doitgen/doitgen.c 9 | ./linear-algebra/kernels/gemm/gemm.c 10 | ./linear-algebra/kernels/gemver/gemver.c 11 | ./linear-algebra/kernels/gesummv/gesummv.c 12 | ./linear-algebra/kernels/mvt/mvt.c 13 | ./linear-algebra/kernels/symm/symm.c 14 | ./linear-algebra/kernels/syr2k/syr2k.c 15 | ./linear-algebra/kernels/syrk/syrk.c 16 | ./linear-algebra/kernels/trisolv/trisolv.c 17 | ./linear-algebra/kernels/trmm/trmm.c 18 | ./linear-algebra/solvers/durbin/durbin.c 19 | ./linear-algebra/solvers/dynprog/dynprog.c 20 | ./linear-algebra/solvers/gramschmidt/gramschmidt.c 21 | ./linear-algebra/solvers/lu/lu.c 22 | ./linear-algebra/solvers/ludcmp/ludcmp.c 23 | ./medley/floyd-warshall/floyd-warshall.c 24 | ./medley/reg_detect/reg_detect.c 25 | ./stencils/adi/adi.c 26 | ./stencils/fdtd-2d/fdtd-2d.c 27 | ./stencils/fdtd-apml/fdtd-apml.c 28 | ./stencils/jacobi-1d-imper/jacobi-1d-imper.c 29 | ./stencils/jacobi-2d-imper/jacobi-2d-imper.c 30 | ./stencils/seidel-2d/seidel-2d.c 31 | -------------------------------------------------------------------------------- /OpenACC/utilities/benchmark_list: -------------------------------------------------------------------------------- 1 | ./datamining/correlation/correlation.c 2 | ./datamining/covariance/covariance.c 3 | ./linear-algebra/kernels/2mm/2mm.c 4 | ./linear-algebra/kernels/3mm/3mm.c 5 | ./linear-algebra/kernels/atax/atax.c 6 | ./linear-algebra/kernels/bicg/bicg.c 7 | ./linear-algebra/kernels/cholesky/cholesky.c 8 | ./linear-algebra/kernels/doitgen/doitgen.c 9 | ./linear-algebra/kernels/gemm/gemm.c 10 | ./linear-algebra/kernels/gemver/gemver.c 11 | ./linear-algebra/kernels/gesummv/gesummv.c 12 | ./linear-algebra/kernels/mvt/mvt.c 13 | ./linear-algebra/kernels/symm/symm.c 14 | ./linear-algebra/kernels/syr2k/syr2k.c 15 | ./linear-algebra/kernels/syrk/syrk.c 16 | ./linear-algebra/kernels/trisolv/trisolv.c 17 | ./linear-algebra/kernels/trmm/trmm.c 18 | ./linear-algebra/solvers/durbin/durbin.c 19 | ./linear-algebra/solvers/dynprog/dynprog.c 20 | ./linear-algebra/solvers/gramschmidt/gramschmidt.c 21 | ./linear-algebra/solvers/lu/lu.c 22 | ./linear-algebra/solvers/ludcmp/ludcmp.c 23 | ./medley/floyd-warshall/floyd-warshall.c 24 | ./medley/reg_detect/reg_detect.c 25 | ./stencils/adi/adi.c 26 | ./stencils/fdtd-2d/fdtd-2d.c 27 | ./stencils/fdtd-apml/fdtd-apml.c 28 | ./stencils/jacobi-1d-imper/jacobi-1d-imper.c 29 | ./stencils/jacobi-2d-imper/jacobi-2d-imper.c 30 | ./stencils/seidel-2d/seidel-2d.c 31 | -------------------------------------------------------------------------------- /OpenCL/stencils/jacobi-2d-imper/jacobi2D.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi2D.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | 20 | __kernel void runJacobi2D_kernel1(__global DATA_TYPE* A, __global DATA_TYPE* B, int n) 21 | { 22 | int i = get_global_id(1); 23 | int j = get_global_id(0); 24 | 25 | if ((i >= 1) && (i < (n-1)) && (j >= 1) && (j < (n-1))) 26 | { 27 | B[i*n + j] = 0.2f * (A[i*n + j] + A[i*n + (j-1)] + A[i*n + (1 + j)] + A[(1 + i)*n + j] 28 | + A[(i-1)*n + j]); 29 | } 30 | } 31 | 32 | __kernel void runJacobi2D_kernel2(__global DATA_TYPE* A, __global DATA_TYPE* B, int n) 33 | { 34 | int i = get_global_id(1); 35 | int j = get_global_id(0); 36 | 37 | if ((i >= 1) && (i < (n-1)) && (j >= 1) && (j < (n-1))) 38 | { 39 | A[i*n + j] = B[i*n + j]; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/bicg/bicg.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * bicg.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | typedef float DATA_TYPE; 18 | 19 | __kernel void bicgKernel1(__global DATA_TYPE *A, __global DATA_TYPE *p, __global DATA_TYPE *q, int nx, int ny) 20 | { 21 | int i = get_global_id(0); 22 | 23 | if (i < nx) 24 | { 25 | q[i] = 0.0; 26 | 27 | int j; 28 | for(j=0; j < ny; j++) 29 | { 30 | q[i] += A[i * ny + j] * p[j]; 31 | } 32 | } 33 | 34 | } 35 | 36 | __kernel void bicgKernel2(__global DATA_TYPE *A, __global DATA_TYPE *r, __global DATA_TYPE *s, int nx, int ny) 37 | { 38 | int j = get_global_id(0); 39 | 40 | if (j < ny) 41 | { 42 | s[j] = 0.0; 43 | 44 | int i; 45 | for(i = 0; i < nx; i++) 46 | { 47 | s[j] += A[i * ny + j] * r[i]; 48 | } 49 | } 50 | 51 | } 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/symm/symm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * symm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYMM_H 9 | # define SYMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYMM */ 55 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/syrk/syrk.h: -------------------------------------------------------------------------------- 1 | /** 2 | * syrk.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYRK_H 9 | # define SYRK_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYRK */ 55 | -------------------------------------------------------------------------------- /HMPP/stencils/adi/adi.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef ADI_H 9 | # define ADI_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 50 31 | # define N 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 50 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !ADI */ 55 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/symm/symm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * symm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYMM_H 9 | # define SYMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYMM */ 55 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/syrk/syrk.h: -------------------------------------------------------------------------------- 1 | /** 2 | * syrk.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYRK_H 9 | # define SYRK_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYRK */ 55 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/symm/symm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * symm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYMM_H 9 | # define SYMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYMM */ 55 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/syrk/syrk.h: -------------------------------------------------------------------------------- 1 | /** 2 | * syrk.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYRK_H 9 | # define SYRK_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYRK */ 55 | -------------------------------------------------------------------------------- /OpenMP/stencils/adi/adi.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef ADI_H 9 | # define ADI_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 50 31 | # define N 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 50 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !ADI */ 55 | -------------------------------------------------------------------------------- /HMPP/datamining/covariance/covariance.h: -------------------------------------------------------------------------------- 1 | /** 2 | * covariance.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef COVARIANCE_H 9 | # define COVARIANCE_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) && !defined(M) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # define M 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define N 500 26 | # define M 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define N 1000 31 | # define M 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define N 2000 36 | # define M 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define N 4000 41 | # define M 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 46 | # define _PB_M POLYBENCH_LOOP_BOUND(M,m) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !COVARIANCE_H */ 55 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/atax/atax.h: -------------------------------------------------------------------------------- 1 | /** 2 | * atax.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef ATAX_H 9 | # define ATAX_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && !defined(NY) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NX 32 21 | # define NY 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NX 500 26 | # define NY 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NX 4000 31 | # define NY 4000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NX 8000 36 | # define NY 8000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NX 100000 41 | # define NY 100000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 46 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !ATAX */ 55 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/bicg/bicg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * bicg.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef BICG_H 9 | # define BICG_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && !defined(NY) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NX 32 21 | # define NY 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NX 500 26 | # define NY 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NX 4000 31 | # define NY 4000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NX 8000 36 | # define NY 8000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NX 100000 41 | # define NY 100000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 46 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !BICG */ 55 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/syr2k/syr2k.h: -------------------------------------------------------------------------------- 1 | /** 2 | * syr2k.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYR2K_H 9 | # define SYR2K_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYR2K */ 55 | -------------------------------------------------------------------------------- /HMPP/stencils/convolution-2d/convolution-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CONV2D_H 9 | #define CONV2D_H 10 | 11 | /* Default to LARGE_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define LARGE_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && ! defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 64 21 | # define NJ 64 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 1024 26 | # define NJ 1024 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET 30 | # define NI 2048 31 | # define NJ 2048 32 | # endif 33 | 34 | # ifdef LARGE_DATASET /* Default if unspecified. */ 35 | # define NI 4096 36 | # define NJ 4096 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 8192 41 | # define NJ 8192 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE float 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !CONV2D */ 55 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/atax/atax.h: -------------------------------------------------------------------------------- 1 | /** 2 | * atax.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef ATAX_H 9 | # define ATAX_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && !defined(NY) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NX 32 21 | # define NY 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NX 500 26 | # define NY 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NX 4000 31 | # define NY 4000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NX 8000 36 | # define NY 8000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NX 100000 41 | # define NY 100000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 46 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !ATAX */ 55 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/bicg/bicg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * bicg.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef BICG_H 9 | # define BICG_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && !defined(NY) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NX 32 21 | # define NY 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NX 500 26 | # define NY 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NX 4000 31 | # define NY 4000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NX 8000 36 | # define NY 8000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NX 100000 41 | # define NY 100000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 46 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !BICG */ 55 | -------------------------------------------------------------------------------- /OpenACC/stencils/adi/adi.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef ADI_H 9 | # define ADI_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 50 31 | # define N 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 50 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !ADI */ 55 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/atax/atax.h: -------------------------------------------------------------------------------- 1 | /** 2 | * atax.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef ATAX_H 9 | # define ATAX_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && !defined(NY) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NX 32 21 | # define NY 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NX 500 26 | # define NY 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NX 4000 31 | # define NY 4000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NX 8000 36 | # define NY 8000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NX 100000 41 | # define NY 100000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 46 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !ATAX */ 55 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/bicg/bicg.h: -------------------------------------------------------------------------------- 1 | /** 2 | * bicg.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef BICG_H 9 | # define BICG_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && !defined(NY) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NX 32 21 | # define NY 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NX 500 26 | # define NY 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NX 4000 31 | # define NY 4000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NX 8000 36 | # define NY 8000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NX 100000 41 | # define NY 100000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 46 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !BICG */ 55 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/syr2k/syr2k.h: -------------------------------------------------------------------------------- 1 | /** 2 | * syr2k.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYR2K_H 9 | # define SYR2K_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYR2K */ 55 | -------------------------------------------------------------------------------- /OpenMP/stencils/convolution-2d/convolution-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CONV2D_H 9 | #define CONV2D_H 10 | 11 | /* Default to LARGE_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define LARGE_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && ! defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 64 21 | # define NJ 64 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 1024 26 | # define NJ 1024 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET 30 | # define NI 2048 31 | # define NJ 2048 32 | # endif 33 | 34 | # ifdef LARGE_DATASET /* Default if unspecified. */ 35 | # define NI 4096 36 | # define NJ 4096 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 8192 41 | # define NJ 8192 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE float 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !CONV2D */ 55 | -------------------------------------------------------------------------------- /HMPP/datamining/correlation/correlation.h: -------------------------------------------------------------------------------- 1 | /** 2 | * correlation.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CORRELATION_H 9 | # define CORRELATION_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) && !defined(M) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # define M 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define N 500 26 | # define M 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define N 1000 31 | # define M 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define N 2000 36 | # define M 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define N 4000 41 | # define M 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 46 | # define _PB_M POLYBENCH_LOOP_BOUND(M,m) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE float 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !CORRELATION_H */ 55 | -------------------------------------------------------------------------------- /OpenACC/datamining/covariance/covariance.h: -------------------------------------------------------------------------------- 1 | /** 2 | * covariance.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef COVARIANCE_H 9 | # define COVARIANCE_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) && !defined(M) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # define M 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define N 500 26 | # define M 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define N 1000 31 | # define M 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define N 2000 36 | # define M 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define N 4000 41 | # define M 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 46 | # define _PB_M POLYBENCH_LOOP_BOUND(M,m) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !COVARIANCE_H */ 55 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/syr2k/syr2k.h: -------------------------------------------------------------------------------- 1 | /** 2 | * syr2k.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SYR2K_H 9 | # define SYR2K_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 1024 31 | # define NJ 1024 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SYR2K */ 55 | -------------------------------------------------------------------------------- /OpenACC/stencils/convolution-2d/convolution-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CONV2D_H 9 | #define CONV2D_H 10 | 11 | /* Default to LARGE_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define LARGE_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && ! defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 64 21 | # define NJ 64 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 1024 26 | # define NJ 1024 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET 30 | # define NI 2048 31 | # define NJ 2048 32 | # endif 33 | 34 | # ifdef LARGE_DATASET /* Default if unspecified. */ 35 | # define NI 4096 36 | # define NJ 4096 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 8192 41 | # define NJ 8192 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE float 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !CONV2D */ 55 | -------------------------------------------------------------------------------- /OpenMP/datamining/covariance/covariance.h: -------------------------------------------------------------------------------- 1 | /** 2 | * covariance.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef COVARIANCE_H 9 | # define COVARIANCE_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) && !defined(M) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # define M 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define N 500 26 | # define M 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define N 1000 31 | # define M 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define N 2000 36 | # define M 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define N 4000 41 | # define M 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 46 | # define _PB_M POLYBENCH_LOOP_BOUND(M,m) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !COVARIANCE_H */ 55 | -------------------------------------------------------------------------------- /OpenACC/datamining/correlation/correlation.h: -------------------------------------------------------------------------------- 1 | /** 2 | * correlation.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CORRELATION_H 9 | # define CORRELATION_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) && !defined(M) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # define M 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define N 500 26 | # define M 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define N 1000 31 | # define M 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define N 2000 36 | # define M 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define N 4000 41 | # define M 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 46 | # define _PB_M POLYBENCH_LOOP_BOUND(M,m) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE float 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !CORRELATION_H */ 55 | -------------------------------------------------------------------------------- /OpenMP/datamining/correlation/correlation.h: -------------------------------------------------------------------------------- 1 | /** 2 | * correlation.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CORRELATION_H 9 | # define CORRELATION_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(N) && !defined(M) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define N 32 21 | # define M 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define N 500 26 | # define M 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define N 1000 31 | # define M 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define N 2000 36 | # define M 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define N 4000 41 | # define M 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 46 | # define _PB_M POLYBENCH_LOOP_BOUND(M,m) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE float 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !CORRELATION_H */ 55 | -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/mvt/mvt.cuh: -------------------------------------------------------------------------------- 1 | /** 2 | * mvt.cuh: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef MVT_CUH 12 | # define MVT_CUH 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define N 1024 24 | # endif 25 | 26 | # ifdef SMALL_DATASET 27 | #define N 2048 28 | # endif 29 | 30 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 31 | #define N 4096 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | #define N 8192 36 | # endif 37 | 38 | # ifdef EXTRALARGE_DATASET 39 | #define N 16384 40 | # endif 41 | # endif /* !N */ 42 | 43 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 44 | 45 | # ifndef DATA_TYPE 46 | # define DATA_TYPE float 47 | # define DATA_PRINTF_MODIFIER "%0.2lf " 48 | # endif 49 | 50 | /* Thread block dimensions */ 51 | #define DIM_THREAD_BLOCK_X 32 52 | #define DIM_THREAD_BLOCK_Y 8 53 | 54 | 55 | #endif /* !MVT*/ 56 | -------------------------------------------------------------------------------- /HMPP/stencils/seidel-2d/seidel-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * seidel-2d.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SEIDEL_2D_H 9 | # define SEIDEL_2D_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 20 31 | # define N 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 20 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SEIDEL_2D */ 55 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/mvt/mvt.h: -------------------------------------------------------------------------------- 1 | /** 2 | * mvt.h: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef MVT_H 12 | # define MVT_H 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define N 1024 24 | # endif 25 | 26 | # ifdef SMALL_DATASET 27 | #define N 2048 28 | # endif 29 | 30 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 31 | #define N 4096 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | #define N 8192 36 | # endif 37 | 38 | # ifdef EXTRALARGE_DATASET 39 | #define N 16384 40 | # endif 41 | # endif /* !N */ 42 | 43 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 44 | 45 | # ifndef DATA_TYPE 46 | # define DATA_TYPE float 47 | # define DATA_PRINTF_MODIFIER "%0.2lf " 48 | # endif 49 | 50 | /* Thread block dimensions */ 51 | #define DIM_LOCAL_WORK_GROUP_X 32 52 | #define DIM_LOCAL_WORK_GROUP_Y 8 53 | 54 | 55 | #endif /* !MVT*/ 56 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/gramschmidt/gramschmidt.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gramschmidt.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GRAMSCHMIDT_H 9 | # define GRAMSCHMIDT_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 512 31 | # define NJ 512 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !GRAMSCHMIDT */ 55 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/gramschmidt/gramschmidt.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gramschmidt.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GRAMSCHMIDT_H 9 | # define GRAMSCHMIDT_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 512 31 | # define NJ 512 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !GRAMSCHMIDT */ 55 | -------------------------------------------------------------------------------- /OpenACC/stencils/seidel-2d/seidel-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * seidel-2d.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SEIDEL_2D_H 9 | # define SEIDEL_2D_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 20 31 | # define N 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 20 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SEIDEL_2D */ 55 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/gramschmidt/gramschmidt.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gramschmidt.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GRAMSCHMIDT_H 9 | # define GRAMSCHMIDT_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define NI 128 26 | # define NJ 128 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define NI 512 31 | # define NJ 512 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define NI 2000 36 | # define NJ 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define NI 4000 41 | # define NJ 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 46 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !GRAMSCHMIDT */ 55 | -------------------------------------------------------------------------------- /OpenMP/stencils/seidel-2d/seidel-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * seidel-2d.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef SEIDEL_2D_H 9 | # define SEIDEL_2D_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 20 31 | # define N 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 20 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !SEIDEL_2D */ 55 | -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/gesummv/gesummv.cuh: -------------------------------------------------------------------------------- 1 | /** 2 | * gesummv.cuh: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef GESUMMV_CUH 12 | # define GESUMMV_CUH 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define N 1024 24 | # endif 25 | 26 | # ifdef SMALL_DATASET 27 | #define N 2048 28 | # endif 29 | 30 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 31 | #define N 4096 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | #define N 8192 36 | # endif 37 | 38 | # ifdef EXTRALARGE_DATASET 39 | #define N 16384 40 | # endif 41 | # endif /* !N */ 42 | 43 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 44 | 45 | # ifndef DATA_TYPE 46 | # define DATA_TYPE float 47 | # define DATA_PRINTF_MODIFIER "%0.2lf " 48 | # endif 49 | 50 | /* Thread block dimensions */ 51 | #define DIM_THREAD_BLOCK_X 256 52 | #define DIM_THREAD_BLOCK_Y 1 53 | 54 | 55 | #endif /* !GESUMMV*/ -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/gesummv/gesummv.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gesummv.h: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef GESUMMV_H 12 | # define GESUMMV_H 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define N 1024 24 | # endif 25 | 26 | # ifdef SMALL_DATASET 27 | #define N 2048 28 | # endif 29 | 30 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 31 | #define N 4096 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | #define N 8192 36 | # endif 37 | 38 | # ifdef EXTRALARGE_DATASET 39 | #define N 16384 40 | # endif 41 | # endif /* !N */ 42 | 43 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 44 | 45 | # ifndef DATA_TYPE 46 | # define DATA_TYPE float 47 | # define DATA_PRINTF_MODIFIER "%0.2lf " 48 | # endif 49 | 50 | /* Thread block dimensions */ 51 | #define DIM_LOCAL_WORK_GROUP_X 256 52 | #define DIM_LOCAL_WORK_GROUP_Y 1 53 | 54 | 55 | #endif /* !GESUMMV*/ -------------------------------------------------------------------------------- /HMPP/stencils/jacobi-2d-imper/jacobi-2d-imper.h: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi-2d-imper.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef JACOBI_2D_IMPER_H 9 | # define JACOBI_2D_IMPER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 20 31 | # define N 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 20 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !JACOBI_2D_IMPER */ 55 | -------------------------------------------------------------------------------- /OpenACC/stencils/jacobi-2d-imper/jacobi-2d-imper.h: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi-2d-imper.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef JACOBI_2D_IMPER_H 9 | # define JACOBI_2D_IMPER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 20 31 | # define N 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 20 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !JACOBI_2D_IMPER */ 55 | -------------------------------------------------------------------------------- /OpenMP/stencils/jacobi-2d-imper/jacobi-2d-imper.h: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi-2d-imper.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef JACOBI_2D_IMPER_H 9 | # define JACOBI_2D_IMPER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 500 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 20 31 | # define N 1000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 20 36 | # define N 2000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 100 41 | # define N 4000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !JACOBI_2D_IMPER */ 55 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/solvers/dynprog/dynprog.h: -------------------------------------------------------------------------------- 1 | /** 2 | * dynprog.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DYNPROG_H 9 | # define DYNPROG_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && !defined(LENGTH) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 10 21 | # define LENGTH 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 100 26 | # define LENGTH 50 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 10000 31 | # define LENGTH 50 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 1000 36 | # define LENGTH 500 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 10000 41 | # define LENGTH 500 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_LENGTH POLYBENCH_LOOP_BOUND(LENGTH,length) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE int 50 | # define DATA_PRINTF_MODIFIER "%d " 51 | # endif 52 | 53 | 54 | #endif /* !DYNPROG */ 55 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/solvers/dynprog/dynprog.h: -------------------------------------------------------------------------------- 1 | /** 2 | * dynprog.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DYNPROG_H 9 | # define DYNPROG_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && !defined(LENGTH) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 10 21 | # define LENGTH 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 100 26 | # define LENGTH 50 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 10000 31 | # define LENGTH 50 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 1000 36 | # define LENGTH 500 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 10000 41 | # define LENGTH 500 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_LENGTH POLYBENCH_LOOP_BOUND(LENGTH,length) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE int 50 | # define DATA_PRINTF_MODIFIER "%d " 51 | # endif 52 | 53 | 54 | #endif /* !DYNPROG */ 55 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/solvers/dynprog/dynprog.h: -------------------------------------------------------------------------------- 1 | /** 2 | * dynprog.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DYNPROG_H 9 | # define DYNPROG_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && !defined(LENGTH) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 10 21 | # define LENGTH 32 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 100 26 | # define LENGTH 50 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 10000 31 | # define LENGTH 50 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 1000 36 | # define LENGTH 500 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 10000 41 | # define LENGTH 500 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_LENGTH POLYBENCH_LOOP_BOUND(LENGTH,length) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE int 50 | # define DATA_PRINTF_MODIFIER "%d " 51 | # endif 52 | 53 | 54 | #endif /* !DYNPROG */ 55 | -------------------------------------------------------------------------------- /HMPP/stencils/jacobi-1d-imper/jacobi-1d-imper.h: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi-1d-imper.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef JACOBI_1D_IMPER_H 9 | # define JACOBI_1D_IMPER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 500 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 1000 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 100 31 | # define N 10000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 1000 36 | # define N 100000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 1000 41 | # define N 1000000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !JACOBI_1D_IMPER */ 55 | -------------------------------------------------------------------------------- /OpenACC/stencils/jacobi-1d-imper/jacobi-1d-imper.h: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi-1d-imper.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef JACOBI_1D_IMPER_H 9 | # define JACOBI_1D_IMPER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 500 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 1000 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 100 31 | # define N 10000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 1000 36 | # define N 100000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 1000 41 | # define N 1000000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !JACOBI_1D_IMPER */ 55 | -------------------------------------------------------------------------------- /OpenMP/stencils/jacobi-1d-imper/jacobi-1d-imper.h: -------------------------------------------------------------------------------- 1 | /** 2 | * jacobi-1d-imper.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef JACOBI_1D_IMPER_H 9 | # define JACOBI_1D_IMPER_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(TSTEPS) && ! defined(N) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TSTEPS 2 21 | # define N 500 22 | # endif 23 | 24 | # ifdef SMALL_DATASET 25 | # define TSTEPS 10 26 | # define N 1000 27 | # endif 28 | 29 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 30 | # define TSTEPS 100 31 | # define N 10000 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | # define TSTEPS 1000 36 | # define N 100000 37 | # endif 38 | 39 | # ifdef EXTRALARGE_DATASET 40 | # define TSTEPS 1000 41 | # define N 1000000 42 | # endif 43 | # endif /* !N */ 44 | 45 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 46 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 47 | 48 | # ifndef DATA_TYPE 49 | # define DATA_TYPE double 50 | # define DATA_PRINTF_MODIFIER "%0.2lf " 51 | # endif 52 | 53 | 54 | #endif /* !JACOBI_1D_IMPER */ 55 | -------------------------------------------------------------------------------- /OpenCL/stencils/convolution-2d/2DConvolution.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * 2DConvolution.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | /* Can switch DATA_TYPE between float and double */ 18 | typedef float DATA_TYPE; 19 | 20 | __kernel void Convolution2D_kernel(__global DATA_TYPE *A, __global DATA_TYPE *B, int ni, int nj) 21 | { 22 | int j = get_global_id(0); 23 | int i = get_global_id(1); 24 | 25 | DATA_TYPE c11, c12, c13, c21, c22, c23, c31, c32, c33; 26 | c11 = +0.2; c21 = +0.5; c31 = -0.8; 27 | c12 = -0.3; c22 = +0.6; c32 = -0.9; 28 | c13 = +0.4; c23 = +0.7; c33 = +0.10; 29 | if ((i < (ni-1)) && (j < (nj - 1)) && (i > 0) && (j > 0)) 30 | { 31 | B[i*nj + j] = c11 * A[(i - 1) * nj + (j - 1)] + c21 * A[(i - 1) * nj + (j + 0)] + c31 * A[(i - 1) * nj + (j + 1)] 32 | + c12 * A[(i + 0) * nj + (j - 1)] + c22 * A[(i + 0) * nj + (j + 0)] + c32 * A[(i + 0) * nj + (j + 1)] 33 | + c13 * A[(i + 1) * nj + (j - 1)] + c23 * A[(i + 1) * nj + (j + 0)] + c33 * A[(i + 1) * nj + (j + 1)]; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/doitgen/doitgen.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * doitgen.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | /* Can switch DATA_TYPE between float and double */ 18 | typedef float DATA_TYPE; 19 | 20 | 21 | __kernel void doitgen_kernel1(int nr, int nq, int np, __global DATA_TYPE *A, __global DATA_TYPE *C4, __global DATA_TYPE *sum, int r) 22 | { 23 | int p = get_global_id(0); 24 | int q = get_global_id(1); 25 | 26 | if ((p < np) && (q < nq)) 27 | { 28 | sum[r * (nq * np) + q * np + p] = (DATA_TYPE)0.0; 29 | 30 | for (int s = 0; s < np; s++) 31 | { 32 | sum[r * (nq * np) + q * np + p] = sum[r * (nq * np) + q * np + p] + A[r * (nq * np) + q * np + s] * C4[s * np + p]; 33 | } 34 | } 35 | } 36 | 37 | __kernel void doitgen_kernel2(int nr, int nq, int np, __global DATA_TYPE *A, __global DATA_TYPE *C4, __global DATA_TYPE *sum, int r) 38 | { 39 | int p = get_global_id(0); 40 | int q = get_global_id(1); 41 | 42 | if ((p < np) && (q < nq)) 43 | { 44 | A[r * (nq * np) + q * np + p] = sum[r * (nq * np) + q * np + p]; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /HMPP/stencils/convolution-3d/convolution-3d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CONV3D_H 9 | #define CONV3D_H 10 | 11 | /* Default to LARGE_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define LARGE_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && ! defined(NJ) && ! defined(NK) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 64 21 | # define NJ 64 22 | # define NK 64 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NI 128 27 | # define NJ 128 28 | # define NK 128 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET 32 | # define NI 192 33 | # define NJ 192 34 | # define NK 192 35 | # endif 36 | 37 | # ifdef LARGE_DATASET /* Default if unspecified. */ 38 | # define NI 256 39 | # define NJ 256 40 | # define NK 256 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NI 384 45 | # define NJ 384 46 | # define NK 384 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 51 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 52 | # define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE float 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !CONV3D */ 61 | -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/gemm/gemm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gemm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GEMM_H 9 | # define GEMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) && !defined(NK) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # define NK 32 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NI 128 27 | # define NJ 128 28 | # define NK 128 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define NI 1024 33 | # define NJ 1024 34 | # define NK 1024 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define NI 2000 39 | # define NJ 2000 40 | # define NK 2000 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NI 4000 45 | # define NJ 4000 46 | # define NK 4000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 51 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 52 | # define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !GEMM */ 61 | -------------------------------------------------------------------------------- /OpenACC/stencils/convolution-3d/convolution-3d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CONV3D_H 9 | #define CONV3D_H 10 | 11 | /* Default to LARGE_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define LARGE_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && ! defined(NJ) && ! defined(NK) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 64 21 | # define NJ 64 22 | # define NK 64 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NI 128 27 | # define NJ 128 28 | # define NK 128 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET 32 | # define NI 192 33 | # define NJ 192 34 | # define NK 192 35 | # endif 36 | 37 | # ifdef LARGE_DATASET /* Default if unspecified. */ 38 | # define NI 256 39 | # define NJ 256 40 | # define NK 256 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NI 384 45 | # define NJ 384 46 | # define NK 384 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 51 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 52 | # define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE float 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !CONV3D */ 61 | -------------------------------------------------------------------------------- /OpenMP/stencils/convolution-3d/convolution-3d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef CONV3D_H 9 | #define CONV3D_H 10 | 11 | /* Default to LARGE_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define LARGE_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && ! defined(NJ) && ! defined(NK) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 64 21 | # define NJ 64 22 | # define NK 64 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NI 128 27 | # define NJ 128 28 | # define NK 128 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET 32 | # define NI 192 33 | # define NJ 192 34 | # define NK 192 35 | # endif 36 | 37 | # ifdef LARGE_DATASET /* Default if unspecified. */ 38 | # define NI 256 39 | # define NJ 256 40 | # define NK 256 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NI 384 45 | # define NJ 384 46 | # define NK 384 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 51 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 52 | # define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE float 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !CONV3D */ 61 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/gemm/gemm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gemm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GEMM_H 9 | # define GEMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) && !defined(NK) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # define NK 32 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NI 128 27 | # define NJ 128 28 | # define NK 128 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define NI 1024 33 | # define NJ 1024 34 | # define NK 1024 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define NI 2000 39 | # define NJ 2000 40 | # define NK 2000 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NI 4000 45 | # define NJ 4000 46 | # define NK 4000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 51 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 52 | # define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !GEMM */ 61 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/gemm/gemm.h: -------------------------------------------------------------------------------- 1 | /** 2 | * gemm.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef GEMM_H 9 | # define GEMM_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NI) && !defined(NJ) && !defined(NK) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NI 32 21 | # define NJ 32 22 | # define NK 32 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NI 128 27 | # define NJ 128 28 | # define NK 128 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define NI 1024 33 | # define NJ 1024 34 | # define NK 1024 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define NI 2000 39 | # define NJ 2000 40 | # define NK 2000 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NI 4000 45 | # define NJ 4000 46 | # define NK 4000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 51 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 52 | # define _PB_NK POLYBENCH_LOOP_BOUND(NK,nk) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !GEMM */ 61 | -------------------------------------------------------------------------------- /CUDA/linear-algebra/solvers/lu/lu.cuh: -------------------------------------------------------------------------------- 1 | /** 2 | * lu.cuh: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef LU_CUH 12 | # define LU_CUH 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define N 512 24 | # endif 25 | 26 | # ifdef SMALL_DATASET 27 | #define N 1024 28 | # endif 29 | 30 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 31 | #define N 2048 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | #define N 4096 36 | # endif 37 | 38 | # ifdef EXTRALARGE_DATASET 39 | #define N 8192 40 | # endif 41 | # endif /* !N */ 42 | 43 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 44 | 45 | # ifndef DATA_TYPE 46 | # define DATA_TYPE float 47 | # define DATA_PRINTF_MODIFIER "%0.2lf " 48 | # endif 49 | 50 | /* Thread block dimensions for kernel 1 */ 51 | #define DIM_THREAD_BLOCK_KERNEL_1_X 256 52 | #define DIM_THREAD_BLOCK_KERNEL_1_Y 1 53 | 54 | /* Thread block dimensions for kernel 2 */ 55 | #define DIM_THREAD_BLOCK_KERNEL_2_X 32 56 | #define DIM_THREAD_BLOCK_KERNEL_2_Y 8 57 | 58 | 59 | #endif /* !LU*/ -------------------------------------------------------------------------------- /HMPP/linear-algebra/kernels/doitgen/doitgen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * doitgen.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DOITGEN_H 9 | # define DOITGEN_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NQ) && !defined(NR) && !defined(NP) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NQ 10 21 | # define NR 10 22 | # define NP 10 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NQ 32 27 | # define NR 32 28 | # define NP 32 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define NQ 128 33 | # define NR 128 34 | # define NP 128 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define NQ 256 39 | # define NR 256 40 | # define NP 256 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NQ 1000 45 | # define NR 1000 46 | # define NP 1000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NQ POLYBENCH_LOOP_BOUND(NQ,nq) 51 | # define _PB_NR POLYBENCH_LOOP_BOUND(NR,nr) 52 | # define _PB_NP POLYBENCH_LOOP_BOUND(NP,np) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !DOITGEN */ 61 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/kernels/2mm/2mm.cl: -------------------------------------------------------------------------------- 1 | /** 2 | * 2mm.cl: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #if defined(cl_khr_fp64) // Khronos extension available? 12 | #pragma OPENCL EXTENSION cl_khr_fp64 : enable 13 | #elif defined(cl_amd_fp64) // AMD extension available? 14 | #pragma OPENCL EXTENSION cl_amd_fp64 : enable 15 | #endif 16 | 17 | /* Can switch DATA_TYPE between float and double */ 18 | typedef float DATA_TYPE; 19 | 20 | __kernel void mm2_kernel1(__global DATA_TYPE *tmp, __global DATA_TYPE *A, __global DATA_TYPE *B, int ni, int nj, int nk, int nl, DATA_TYPE alpha, DATA_TYPE beta) 21 | { 22 | int j = get_global_id(0); 23 | int i = get_global_id(1); 24 | 25 | if ((i < ni) && (j < nj)) 26 | { 27 | tmp[i * nj + j] = 0; 28 | int k; 29 | for (k = 0; k < nk; k++) 30 | { 31 | tmp[i * nj + j] += alpha * A[i * nk + k] * B[k * nj + j]; 32 | } 33 | } 34 | } 35 | 36 | 37 | __kernel void mm2_kernel2(__global DATA_TYPE *tmp, __global DATA_TYPE *C, __global DATA_TYPE *D, int ni, int nj, int nk, int nl, DATA_TYPE alpha, DATA_TYPE beta) 38 | { 39 | int j = get_global_id(0); 40 | int i = get_global_id(1); 41 | 42 | if ((i < ni) && (j < nl)) 43 | { 44 | D[i * nl + j] *= beta; 45 | int k; 46 | for (k = 0; k < nj; k++) 47 | { 48 | D[i * nl + j] += tmp[i * nj + k] * C[k * nl + j]; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /OpenMP/linear-algebra/kernels/doitgen/doitgen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * doitgen.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DOITGEN_H 9 | # define DOITGEN_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NQ) && !defined(NR) && !defined(NP) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NQ 10 21 | # define NR 10 22 | # define NP 10 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NQ 32 27 | # define NR 32 28 | # define NP 32 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define NQ 128 33 | # define NR 128 34 | # define NP 128 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define NQ 256 39 | # define NR 256 40 | # define NP 256 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NQ 1000 45 | # define NR 1000 46 | # define NP 1000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NQ POLYBENCH_LOOP_BOUND(NQ,nq) 51 | # define _PB_NR POLYBENCH_LOOP_BOUND(NR,nr) 52 | # define _PB_NP POLYBENCH_LOOP_BOUND(NP,np) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !DOITGEN */ 61 | -------------------------------------------------------------------------------- /HMPP/stencils/fdtd-2d/fdtd-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * fdtd-2d.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef FDTD_2D_H 9 | # define FDTD_2D_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && ! defined(NY) && !defined(TMAX) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TMAX 2 21 | # define NX 32 22 | # define NY 32 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define TMAX 10 27 | # define NX 500 28 | # define NY 500 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define TMAX 50 33 | # define NX 1000 34 | # define NY 1000 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define TMAX 50 39 | # define NX 2000 40 | # define NY 2000 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define TMAX 100 45 | # define NX 4000 46 | # define NY 4000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_TMAX POLYBENCH_LOOP_BOUND(TMAX,tmax) 51 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 52 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !FDTD_2D */ 61 | -------------------------------------------------------------------------------- /OpenACC/linear-algebra/kernels/doitgen/doitgen.h: -------------------------------------------------------------------------------- 1 | /** 2 | * doitgen.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef DOITGEN_H 9 | # define DOITGEN_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NQ) && !defined(NR) && !defined(NP) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define NQ 10 21 | # define NR 10 22 | # define NP 10 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define NQ 32 27 | # define NR 32 28 | # define NP 32 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define NQ 128 33 | # define NR 128 34 | # define NP 128 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define NQ 256 39 | # define NR 256 40 | # define NP 256 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define NQ 1000 45 | # define NR 1000 46 | # define NP 1000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_NQ POLYBENCH_LOOP_BOUND(NQ,nq) 51 | # define _PB_NR POLYBENCH_LOOP_BOUND(NR,nr) 52 | # define _PB_NP POLYBENCH_LOOP_BOUND(NP,np) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !DOITGEN */ 61 | -------------------------------------------------------------------------------- /CUDA/linear-algebra/kernels/syrk/syrk.cuh: -------------------------------------------------------------------------------- 1 | /** 2 | * syrk.cuh: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef SYRK_H 12 | # define SYRK_H 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(NI) && !defined(NJ) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define NI 256 24 | #define NJ 256 25 | # endif 26 | 27 | # ifdef SMALL_DATASET 28 | #define NI 512 29 | #define NJ 512 30 | # endif 31 | 32 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 33 | #define NI 1024 34 | #define NJ 1024 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | #define NI 2048 39 | #define NJ 2048 40 | # endif 41 | 42 | # ifdef EXTRALARGE_DATASET 43 | #define NI 4096 44 | #define NJ 4096 45 | # endif 46 | # endif /* !N */ 47 | 48 | # define _PB_NI POLYBENCH_LOOP_BOUND(NI,ni) 49 | # define _PB_NJ POLYBENCH_LOOP_BOUND(NJ,nj) 50 | 51 | # ifndef DATA_TYPE 52 | # define DATA_TYPE float 53 | # define DATA_PRINTF_MODIFIER "%0.2lf " 54 | # endif 55 | 56 | /* Thread block dimensions */ 57 | #define DIM_THREAD_BLOCK_X 32 58 | #define DIM_THREAD_BLOCK_Y 8 59 | 60 | 61 | #endif /* !SYRK*/ -------------------------------------------------------------------------------- /CUDA/stencils/adi/adi.cuh: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.cuh: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef ADI_CUH 12 | # define ADI_CUH 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(TSTEPS) && !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define TSTEPS 1 24 | #define N 256 25 | # endif 26 | 27 | # ifdef SMALL_DATASET 28 | #define TSTEPS 1 29 | #define N 512 30 | # endif 31 | 32 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 33 | #define TSTEPS 1 34 | #define N 1024 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | #define TSTEPS 1 39 | #define N 2048 40 | # endif 41 | 42 | # ifdef EXTRALARGE_DATASET 43 | #define TSTEPS 1 44 | #define N 4096 45 | # endif 46 | # endif /* !N */ 47 | 48 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 49 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 50 | 51 | # ifndef DATA_TYPE 52 | # define DATA_TYPE float 53 | # define DATA_PRINTF_MODIFIER "%0.2lf " 54 | # endif 55 | 56 | /* Thread block dimensions */ 57 | #define DIM_THREAD_BLOCK_X 256 58 | #define DIM_THREAD_BLOCK_Y 1 59 | 60 | 61 | #endif /* !ADI*/ -------------------------------------------------------------------------------- /OpenACC/stencils/fdtd-2d/fdtd-2d.h: -------------------------------------------------------------------------------- 1 | /** 2 | * fdtd-2d.h: This file is part of the PolyBench/C 3.2 test suite. 3 | * 4 | * 5 | * Contact: Louis-Noel Pouchet 6 | * Web address: http://polybench.sourceforge.net 7 | */ 8 | #ifndef FDTD_2D_H 9 | # define FDTD_2D_H 10 | 11 | /* Default to STANDARD_DATASET. */ 12 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 13 | # define STANDARD_DATASET 14 | # endif 15 | 16 | /* Do not define anything if the user manually defines the size. */ 17 | # if !defined(NX) && ! defined(NY) && !defined(TMAX) 18 | /* Define the possible dataset sizes. */ 19 | # ifdef MINI_DATASET 20 | # define TMAX 2 21 | # define NX 32 22 | # define NY 32 23 | # endif 24 | 25 | # ifdef SMALL_DATASET 26 | # define TMAX 10 27 | # define NX 500 28 | # define NY 500 29 | # endif 30 | 31 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 32 | # define TMAX 50 33 | # define NX 1000 34 | # define NY 1000 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | # define TMAX 50 39 | # define NX 2000 40 | # define NY 2000 41 | # endif 42 | 43 | # ifdef EXTRALARGE_DATASET 44 | # define TMAX 100 45 | # define NX 4000 46 | # define NY 4000 47 | # endif 48 | # endif /* !N */ 49 | 50 | # define _PB_TMAX POLYBENCH_LOOP_BOUND(TMAX,tmax) 51 | # define _PB_NX POLYBENCH_LOOP_BOUND(NX,nx) 52 | # define _PB_NY POLYBENCH_LOOP_BOUND(NY,ny) 53 | 54 | # ifndef DATA_TYPE 55 | # define DATA_TYPE double 56 | # define DATA_PRINTF_MODIFIER "%0.2lf " 57 | # endif 58 | 59 | 60 | #endif /* !FDTD_2D */ 61 | -------------------------------------------------------------------------------- /OpenCL/linear-algebra/solvers/lu/lu.h: -------------------------------------------------------------------------------- 1 | /** 2 | * lu.h: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef LU_H 12 | # define LU_H 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define N 512 24 | # endif 25 | 26 | # ifdef SMALL_DATASET 27 | #define N 1024 28 | # endif 29 | 30 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 31 | #define N 2048 32 | # endif 33 | 34 | # ifdef LARGE_DATASET 35 | #define N 4096 36 | # endif 37 | 38 | # ifdef EXTRALARGE_DATASET 39 | #define N 8192 40 | # endif 41 | # endif /* !N */ 42 | 43 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 44 | 45 | # ifndef DATA_TYPE 46 | # define DATA_TYPE float 47 | # define DATA_PRINTF_MODIFIER "%0.2lf " 48 | # endif 49 | 50 | /* Thread block dimensions for kernel 1 */ 51 | #define DIM_LOCAL_WORK_GROUP_KERNEL_1_X 256 52 | #define DIM_LOCAL_WORK_GROUP_KERNEL_1_Y 1 53 | 54 | /* Thread block dimensions for kernel 2 */ 55 | #define DIM_LOCAL_WORK_GROUP_KERNEL_2_X 32 56 | #define DIM_LOCAL_WORK_GROUP_KERNEL_2_Y 8 57 | 58 | 59 | #endif /* !LU*/ -------------------------------------------------------------------------------- /OpenCL/stencils/adi/adi.h: -------------------------------------------------------------------------------- 1 | /** 2 | * adi.h: This file is part of the PolyBench/GPU 1.0 test suite. 3 | * 4 | * 5 | * Contact: Scott Grauer-Gray 6 | * Will Killian 7 | * Louis-Noel Pouchet 8 | * Web address: http://www.cse.ohio-state.edu/~pouchet/software/polybench/GPU 9 | */ 10 | 11 | #ifndef ADI_H 12 | # define ADI_H 13 | 14 | /* Default to STANDARD_DATASET. */ 15 | # if !defined(MINI_DATASET) && !defined(SMALL_DATASET) && !defined(LARGE_DATASET) && !defined(EXTRALARGE_DATASET) 16 | # define STANDARD_DATASET 17 | # endif 18 | 19 | /* Do not define anything if the user manually defines the size. */ 20 | # if !defined(TSTEPS) && !defined(N) 21 | /* Define the possible dataset sizes. */ 22 | # ifdef MINI_DATASET 23 | #define TSTEPS 1 24 | #define N 256 25 | # endif 26 | 27 | # ifdef SMALL_DATASET 28 | #define TSTEPS 1 29 | #define N 512 30 | # endif 31 | 32 | # ifdef STANDARD_DATASET /* Default if unspecified. */ 33 | #define TSTEPS 1 34 | #define N 1024 35 | # endif 36 | 37 | # ifdef LARGE_DATASET 38 | #define TSTEPS 1 39 | #define N 2048 40 | # endif 41 | 42 | # ifdef EXTRALARGE_DATASET 43 | #define TSTEPS 1 44 | #define N 4096 45 | # endif 46 | # endif /* !N */ 47 | 48 | # define _PB_N POLYBENCH_LOOP_BOUND(N,n) 49 | # define _PB_TSTEPS POLYBENCH_LOOP_BOUND(TSTEPS,tsteps) 50 | 51 | # ifndef DATA_TYPE 52 | # define DATA_TYPE float 53 | # define DATA_PRINTF_MODIFIER "%0.2lf " 54 | # endif 55 | 56 | /* Thread block dimensions */ 57 | #define DIM_LOCAL_WORK_GROUP_X 256 58 | #define DIM_LOCAL_WORK_GROUP_Y 1 59 | 60 | 61 | #endif /* !ADI*/ --------------------------------------------------------------------------------