Передайте 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}));