Това може да се окаже глупаво, но попаднах на този въпрос и не мога да отговоря сам.
Каква е практическата разлика между използването на следните две части от код при запис в буфер в OpenCL?
- Блокиране на запис:
queue->enqueueWriteBuffer(d_vec, CL_TRUE, 0, sizeof(int) * vec.size(), vec.data());
- Неблокиращ запис с event.wait():
cl::Event event;
queue->enqueueWriteBuffer(d_vec, CL_FALSE, 0, sizeof(int) * vec.size(), vec.data(), nullptr, &event);
event.wait();
Струва ми се, че и двата кода биха се държали еднакво в крайна сметка. Може ли някой да обясни разликата?
Благодаря ти!