通过javaCL绑定编写一些代码来研究openCL,我到达了我必须将int2(__global int2 *种子)的缓冲区传递给内核的地步,但我找不到在javaCL中执行此操作的方法因为上下文对象没有提供任何createInt2Buffer或模拟方法来创建[generic_vector_type] Buffer。
作为一种解决方法,我重写了内核以接受int的两个缓冲区,但当然问题仍然存在。
那么,是否存在我遗漏的内容或图书馆尚未实现此功能?
答案 0 :(得分:0)
根据要求,我发布了我的回答:
在图书博客作者的代码示例中找到了解决方案。 int2 * opencl缓冲区在javacl中没有映射为int [n] [2],而是作为int [n * 2]映射,其中元素n.x和n.y是交错的
n.x-> array[n*2];
n.y-> array[n*2+1];