2012-12-02 45 views
0

所以我有一个核心,看起来像这样:通INT在JOCL内核参数

__kernel void my_kernel(__global const uchar *array, const uint number, __global const uchar *result) { 
... 
} 

我已经找到了如何通过创建一个缓冲区传递阵列(在Java字节数组):

cl_mem memObjects[] = new cl_mem[2]; 
memObjects[0] = clCreateBuffer(context, 
    CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, 
    Sizeof.cl_uchar * dataSize, 
    Pointer.to(data), null 
); 

,然后将其设置:

clSetKernelArg(my_kernel, 0, Sizeof.cl_mem, Pointer.to(memObjects[0])); 

我想不通的是如何设置的数量参数... ...这是一个简单的int在Java中?

回答

1

你可以尝试:

clSetKernelArg(my_kernel, 1, Sizeof.cl_uint, Pointer.to(new int[]{123}));