Press the button to get a new bandwidth value for copying
1024×1024 float4 matrices.
__kernel void kMatrixCopy( global float4* A, global float4* C ){
int x = get_global_id(0) + (get_global_id(1) << 10);
C[x] = A[x];
}
function run(){
var ev, t = 0;
for ( var i = 0; i < k; i++){
ev = cmdQueue.enqueueNDRangeKernel(kernel,2,[],[n,n],[16,8],[]);
cmdQueue.finish();
t += ev.getEventProfilingInfo(WebCL.CL_PROFILING_COMMAND_END) -
ev.getEventProfilingInfo(WebCL.CL_PROFILING_COMMAND_START);
}
output.innerHTML = "bandwidth = " +
Math.round(( 2 * bufSize / (t/k))*1000)/1000 + " GB/s";
}
Operation
float write
float copy
float4 copy
E-350
3.3
5.5
5.9
GTX 560
91.5
113.7
"Typical" upper bandwidth values are used.
For E-350 the maximum bandwidth is 9 GB/s.
WebCL Demosupdated 17 Nov 2011