我是C,C ++和OpenCL的新手,现在正尽力学习它们。这是一个预先存在的C ++函数,我试图弄清楚如何使用C或C ++绑定移植到OpenCL。
#include <vector>
using namespace std;
class Test {
private:
double a;
vector<double> b;
vector<long> c;
vector<vector<double> > d;
public:
double foo(long x, double y) {
// mathematical operations
// using x, y, a, b, c, d
// and also b.size()
// to calculate return value
return 0.0;
}
};
从广义上讲,我的问题是如何将此函数访问的所有类成员传入绑定和内核。我理解如何传递标量值但是我不确定的矢量值。是否有一种方法可以将指针传递给上述每个成员或内存映射它们,以便OpenCL的视图与主机内存同步?细分我的问题如下。
我非常感谢C或C ++绑定以及答案中的内核代码示例源代码。
非常感谢。