gpt4 book ai didi

arrays - 将数组传递给 OpenCL 中的函数参数

转载 作者:行者123 更新时间:2023-12-04 12:42:32 25 4
gpt4 key购买 nike

如何将数组传递给 OpenCL 中的函数?我在行 c[n]=FindIndexFromArray(a,3); 中收到错误“..”类型“_global float *”的参数与“float *”类型的参数不兼容;

float FindIndexFromArray(float myArray[], float Key)
{
// simple looping to find the index
for (int i=0;i<sizeof(myArray);i++)
if (myArray[i]==Key)
return i;

}

kernel void ProcessArray(
global read_only float* myArray,
global read_only float* Key,
global write_only float* c )
{
int index = get_global_id(0);
c[index] = FindIndexFromArray(myArray, Key); // How do I pass myArray parameter?
}

我编辑的源代码:
float FindIndexFromArray(__global read_only float* myArray[], __global read_only float* Key)
{
// simple looping to find the index
for (int i=0;i<sizeof(myArray);i++)
if (myArray[i]==Key)
return i;

}

kernel void ProcessArray(
__global read_only float* myArray,
__global read_only float* Key,
__global write_only float* c )
{
int index = get_global_id(0);
c[index] = FindIndexFromArray(myArray, Key); // How do I pass myArray parameter?
}

最佳答案

它如错误消息中所述。您的 myArrayKey自带类型 globalread-only ,因此您必须在将其传递给另一个函数时声明相同的类型。总之你的FindIndexFromArray应该

FindIndexFromArray(global read_only float* myArray, global read_only float* Key)

关于arrays - 将数组传递给 OpenCL 中的函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11029363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com