cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

tweenk
Journeyman III

Simultaneous data transfer and kernel execution

I have a piece of OpenCL code where the data transfer (ReadBuffer / WriteBuffer) takes about the same time as the computation. I would like to allocate 2 input and 2 output buffers and run the kernel on one pair of buffers while I read/write the other pair. Is this possible in AMD's OpenCL implementation?

I tried using an out-of-order queue, but I did not achieve a speedup over a synchronous version.

0 Likes
2 Replies
nou
Exemplar

out of order is not currently supported. try using two queues one for computation second for data transfer.

0 Likes
tweenk
Journeyman III

The two-queue approach appears to work, as I obtained a minor speedup. Unfortunately I had wrong timing data for the synchronous version (I used clock() by mistake) so in reality the computation takes about 85% of the time.

0 Likes