kazuki

clEnqueueRead/WriteBuffer Performance Issue on HD5750

Discussion created by kazuki on Nov 15, 2009
Latest reply on Nov 24, 2009 by omkaranathan

I use clEnqueueRead/WriteBuffer with blocking mode on Radeon HD 5750.
But wrute throughput is lower than result of PCIeSpeedTest(ATI Stream Power Toys).
And read throughput is very lower than write throughput. why ?

Test pseudocode:
  size = 1024*1024*64;
  NUM_TIMING_LOOPS = 100;
  buf = clCreateBuffer(context,CL_MEM_READ_WRITE,size,NULL,&errcode);
  stopwatch.start (); // use PerformanceCounter
  for (int i = 0; i < NUM_TIMING_LOOPS; i ++)
    clEnqueueWriteBuffer(queue,buf,CL_TRUE,0,size,ptr,0,NULL,NULL);
  stopwatch.stop ();
  printf (...);

Result:
  write: 2.575GB/s
  read: 1.197GB/s

PCIeSpeedTestResult (v0.2):
[  67108864 bytes] CPU->GPU=   4.851 GB/sec, GPU->CPU= 861.791 MB/sec

Outcomes