Я видел обе версии в учебниках, но я не мог узнать, каковы их преимущества и недостатки. Какой из них правильный?
cl_mem input = clCreateBuffer(context,CL_MEM_READ_ONLY,sizeof(float) * DATA_SIZE, NULL, NULL);
clEnqueueWriteBuffer(command_queue, input, CL_TRUE, 0, sizeof(float) * DATA_SIZE, inputdata, 0, NULL, NULL);
против.
cl_mem input = clCreateBuffer(context,CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, ,sizeof(float) * DATA_SIZE, inputdata, NULL);
Спасибо.
[Обновление]
Я добавил CL_MEM_COPY_HOST_PTR,
во второй пример, чтобы сделать его правильным.