Contains the linear algebra kernels in C and BLAS equivalents for both OpenCL and CUDA
C Cuda Shell Python Makefile
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
CUDA
OpenCL
polybench-c-3.2
README

README

Required software:


* PPCG and dependent packages
* Autotuner 
* OpenCL or Cuda SDK 5.5
* AMD CLBLAS 2.2.0 https://github.com/clMathLibraries/clBLAS
* CuBLAS 5.5

OpenCl Blas kernels
OpneCL_Dir = {Benchmark}/Opencl
* modify the OpenCL_SDK and BLAS_SDK varibles according to your machine installation in {OpenCL_Dir}/common.mk
* to build, execute make blas command in each of the benchmark directories 
* run the resulting executable


CUDA Blas Kernels
CUDA_DIR = {Benchmark}/CUDA
* make sure nvcc compiler is installed
* to build, execute make blas command in each of the benchmark directories
* run the resulting executable

PPCG generated kernels
Polybench_DIR = {Benchmark}/polybench-c-3.2
* Setup PPCG_DIR, OpenCL_DIR, AUTOTUNE_DIR, PENCIL_UTIL and POLYBENCH variables in {Polybench_DIR}/common.mk
* Add ${PENCIL_UTIL}/runtime/src/.libs directory to the LD_LIBRARY_PATH environment variable
* to build and run, execute make opencl or make cuda in each of the benchmark directories
* run make autotune_cuda or autotune_opencl to launch autotuning. Autotuning parameters can be changed in expolre-params.py in each benchmark directory. Note that some of the parameters could be invalid on a particular machine.
* Setup the TARGET variable in {Polybench_DIR}/commom.mk accordingly
* Best configuration found after autotuning will be printed in {benchmark}_autotune.log
* Update these configurations in the Makefile inside individual directory and do make opencl/make cuda, to execute the benchmark with the best configuration