From a5a423fcd5bb6453feed382fda1d8b9701fc921d Mon Sep 17 00:00:00 2001 From: Prakalp Srivastava <psrivas2@illinois.edu> Date: Fri, 21 Nov 2014 18:39:53 +0000 Subject: [PATCH] (1) visc-rt.cpp modified to have correct opencl read/write flags depending on in out attributes of arguments (2) check-point commit in preparing mri-q benchmark --- llvm/projects/visc-rt/visc-rt.cpp | 6 +++--- .../VISC/parboil/benchmarks/mri-q/src/opencl/kernels.cl | 1 + llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/macros.h | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/llvm/projects/visc-rt/visc-rt.cpp b/llvm/projects/visc-rt/visc-rt.cpp index ef9990785f..9bfc0ba9ab 100644 --- a/llvm/projects/visc-rt/visc-rt.cpp +++ b/llvm/projects/visc-rt/visc-rt.cpp @@ -113,9 +113,9 @@ void* llvm_visc_ptx_argument_ptr(void* graphID, void* input, int arg_index, size cl_int errcode; cl_mem_flags clFlags; if(isInput && isOutput) clFlags = CL_MEM_READ_WRITE | CL_MEM_COPY_HOST_PTR; - else if(isInput) clFlags = CL_MEM_READ_WRITE | CL_MEM_COPY_HOST_PTR; - else if(isOutput) clFlags = CL_MEM_READ_WRITE; - else clFlags = CL_MEM_READ_WRITE | CL_MEM_COPY_HOST_PTR; + else if(isInput) clFlags = CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR; + else if(isOutput) clFlags = CL_MEM_WRITE_ONLY; + else clFlags = CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR; cl_mem d_input = clCreateBuffer(Context->clGPUContext, clFlags, size, input, &errcode); checkErr(errcode, CL_SUCCESS, "Failure to allocate memory on device"); diff --git a/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/kernels.cl b/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/kernels.cl index 37455d5843..b7a91a5abb 100644 --- a/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/kernels.cl +++ b/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/kernels.cl @@ -1,6 +1,7 @@ #include "macros.h" #define NC 4 +#define KERNEL_Q_K_ELEMS_PER_GRID 256 #define COARSE_GENERAL // #define COARSE_SPEC NC diff --git a/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/macros.h b/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/macros.h index 9ba2c5a3be..89c0e376b5 100644 --- a/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/macros.h +++ b/llvm/test/VISC/parboil/benchmarks/mri-q/src/opencl/macros.h @@ -1,5 +1,5 @@ #ifndef __MACROS__ -#define __MACROS__ +//#define __MACROS__ #define PI 3.1415926535897932384626433832795029f #define PIx2 6.2831853071795864769252867665590058f @@ -9,7 +9,7 @@ #define KERNEL_PHI_MAG_THREADS_PER_BLOCK 256 /* 512 */ #define KERNEL_Q_THREADS_PER_BLOCK 256 -#define KERNEL_Q_K_ELEMS_PER_GRID 1024 +#define KERNEL_Q_K_ELEMS_PER_GRID 256 struct kValues { float Kx; -- GitLab