OpenCL - 对指针进行算术运算的 API (cl_mem)

问题描述 投票:0回答:0

我的最终目标是在主机端对指针进行算术运算。我知道我们可以对内核执行以下操作:

// .cl file
__kernel void pointerAdd(float* arr, int index, float newVal) {
    *(arr + index) = newVal;
}

// .cpp file
cl_mem arr = clCreateBuffer(...);
opencl.run("pointerAdd", {1} /* GWS */, {1} /* LWS */, arr, 10, 2.2f);

但是,我可以在将指针传递给内核之前增加主机上的指针吗?

由于 OpenCL 缓冲区由对象表示(即

cl_mem
),因此在主机上执行
arr += 10;
是完全错误的。有没有我们可以用来做指针运算的 API?

opencl
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.