diff --git a/llvm/projects/visc-rt/visc-rt.cpp b/llvm/projects/visc-rt/visc-rt.cpp index ef9990785f8aa8e81295fbb0eb002eb48497223f..9bfc0ba9abfcc4bbebae10fd7f982dac9ebbfa0d 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 37455d5843c863b4d21c556c03cfbc6821a30b98..b7a91a5abbe395674706c0b600352f719d09549e 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 9ba2c5a3becea00d5d1bc5011573269e06921022..89c0e376b5f19e6fdef531be572f07245664638b 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;