sem*_*teu 3 opencl data-structures
我正在尝试使用OpenCL内核的自定义数据结构.我在宿主程序中定义了一个简单的结构,如:
struct myStruct{
cl_ulong n_occ;
cl_ulong start_time;
cl_ulong end_time;
cl_ulong exec_time;
cl_ulong total_time;
cl_float avg_time;
} myStruct_t;
Run Code Online (Sandbox Code Playgroud)
等效的自定义数据结构定义也在我的OpenCL内核中完成.
struct myStruct{
unsigned long n_occ;
unsigned long start_time;
unsigned long end_time;
unsigned long exec_time;
unsigned long total_time;
float avg_time;
} myStruct_t;
Run Code Online (Sandbox Code Playgroud)
内核函数如下:
__kernel void process_data( __global myStruct_t* input, __global myStruct_t* output){
output->start_time = input->start_time;
output->end_time = input->end_time;
output->exec_time = input->end_time - input->start_time;
output->total_time = input->total_time + output->exec_time;
output->n_occ = input->n_occ + 1;
output->avg_time = output->total_time / output->n_occ;
}
Run Code Online (Sandbox Code Playgroud)
我使用Nvidia卡作为GPU设备.执行内核代码后,我得到了错误的结果.我不明白原因.有什么东西不见了吗?
预先感谢您的帮助.