2012-12-02 46 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}));