I have begun to learn openCL and I wonder why enqueueReadBuffer operation takes more time than equeueWriteBuffer one although buffer size and data size are identical for both?
As the name implies, all the ‘enqueue*’ operations merely place the request to perform the operation into a queue. Unless you pass blocking=true, the actual data transfer isn’t performed.
And if you only perform a blocking read, and no flush or finish the ‘read invocation’ will include all processing time as well.