有没有办法在OpenCL中创建double4数据类型的数组?

时间:2014-03-20 23:52:48

标签: opencl

我有一个OpenCL内核,它接受3个uchar *类型的参数。现在我有另一个内核(一个N体模拟内核),我必须更改它以便它接受3个类型为uchar *的参数。问题是有double4类型的变量,而且我是OpenCL的新手,我无法理解它。

这是原始内核

__kernel void cal_coor(__global uchar* world, __global uchar* data, __global uchar* result)

这里是我要修改的N体仿真代码,它只接受3个参数,比如内核abvove

kernel void nbody ( double eps, double scaleFactor, double gravityFactor, double xmax, double ymax, double zmax, double dt, global read_only double4* bodyMassPos, global double4* bodySpeed, global double4* bodyAccel, global write_only double4* bodyMassPosNew, local double4* pblock)

编辑: 我知道我可以创建一个双数据类型的数组并容纳其中的大多数参数,但我对double4数据类型感到困惑。

我必须修改n body内核,因为我有一个框架,它使用opencl内核。我的任务是提出内核,我们可以在当前框架中使用它来测试框架。现在当前内核只有3个参数,我无法更改为内核设置参数的代码,但我可以更改内核。

0 个答案:

没有答案