javacl - 将int2 *(或向量的任何通用缓冲区)传递给内核

时间:2011-04-13 10:59:04

标签: java opencl

通过javaCL绑定编写一些代码来研究openCL,我到达了我必须将int2(__global int2 *种子)的缓冲区传递给内核的地步,但我找不到在javaCL中执行此操作的方法因为上下文对象没有提供任何createInt2Buffer或模拟方法来创建[generic_vector_type] Buffer。

作为一种解决方法,我重写了内核以接受int的两个缓冲区,但当然问题仍然存在。

那么,是否存在我遗漏的内容或图书馆尚未实现此功能?

1 个答案:

答案 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];