OpenCL与大输入数组崩溃

时间:2013-11-08 20:15:44

标签: c++ c opencl

将此示例用于mac Click Here

我正在让OpenCL崩溃大数组(放置NUM_VALUE = 10000)。有关为什么会这样的任何建议?

1 个答案:

答案 0 :(得分:1)

你应该在调试器中运行程序,比如gdb,以确定。它可能是这些分配之一:

float* test_in = (float*)malloc(sizeof(cl_float) * NUM_VALUES);

void* mem_in  = gcl_malloc(sizeof(cl_float) * NUM_VALUES, test_in, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR);

void* mem_out = gcl_malloc(sizeof(cl_float) * NUM_VALUES, NULL, CL_MEM_WRITE_ONLY);

为内存请求返回NULL,因为该程序没有检查,导致其中一个阵列的下一次访问发生段错误。