Does the OpenCL2.0 SVM support allocate memory for images?
We can test the SVM performance like:
d_a=(float*)clSVMAlloc(context,(CL_MEM_READ_WRITE|CL_MEM_SVM_FINE_GRAIN_BUFFER|CL_MEM_SVM_ATOMICS),size,0);
d_b=(float*)clSVMAlloc(context,(CL_MEM_READ_WRITE|CL_MEM_SVM_FINE_GRAIN_BUFFER|CL_MEM_SVM_ATOMICS),size,0);
d_c=(float*)clSVMAlloc(context,(CL_MEM_READ_WRITE|CL_MEM_SVM_FINE_GRAIN_BUFFER|CL_MEM_SVM_ATOMICS),size,0);
for(int i=0;i<size;i++)
{
d_a=Initial_value;
d_b=Initial_value;
}
clSetKernelArgSVMPointer(kernel, 0, d_a);
clSetKernelArgSVMPointer(kernel, 0, d_b);
clSetKernelArgSVMPointer(kernel, 0, d_c);
The SVM performance has been verified good in the example of calculation of a vector,but the clSVMAlloc() cannot allocate memory for images,
how should we do to utilize the SVM for image processing?
Thank you!
The test device is like:
CL_DEVICE_NAME: AMD A10-7850 APU with Radeon (TM) R7 Graphics @ 3.70GHz
CL_DEVICE_PROFILE: FULL_PROFILE
CL_DEVICE_VERSION: OpenCL 2.0 (Build 8228)
CL_DEVICE_OPENCL_C_VERSION: OpenCL C 2.0