我是 OpenCl 和 Cloo 的新手。我编写了如下所示的内核程序:
string bytesToShort = @"typedef struct
{
int arrayLength;
char audioData[100];
short result[100];
}AudioInfo;
__kernel void
convertBytesToShort(__global AudioInfo *v1)
{
// Vector element index
int i = get_global_id(0);
int counter = -1;
for(int j =0;j<v1[i].arrayLength - 1;j+=2)
{
counter++;
v1[i].result[counter] = v1[i].audioData[j]<<2 | v1[i].audioData[j+1];
}
}";
内核编译得很好。我在尝试使用 OpenCLTemplate 从 c# 传递 sturct 数组时遇到问题。所以我问了一个非常基本的问题,即如何设置 c# 端以将结构传递给内核?