28.07.2013 Views

Making OpenCL? Simple with Haskell - AMD Developer Central

Making OpenCL? Simple with Haskell - AMD Developer Central

Making OpenCL? Simple with Haskell - AMD Developer Central

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

OPENCL SUMMARY<br />

__kernel void<br />

dp_mul(global const float *a,<br />

global const float *b,<br />

global float *c)<br />

{<br />

int id = get_global_id(0);<br />

c[id] = a[id] * b[id];<br />

}<br />

dp_mul<br />

CPU program binary<br />

dp_mul<br />

GPU program binary<br />

22 | <strong>Making</strong> <strong>OpenCL</strong> <strong>Simple</strong> | January, 2011 | Public<br />

CPU<br />

arg arg [0] [0]<br />

arg[0] value value<br />

value<br />

arg<br />

arg<br />

[1]<br />

[1]<br />

arg[1] value value<br />

value<br />

arg arg [2] [2]<br />

arg[2] value value<br />

value<br />

Context<br />

Programs Kernels Memory Objects Command Queues<br />

dp_mul<br />

GPU<br />

Images Buffers<br />

In In<br />

Order<br />

Queue<br />

Compute GPU Device<br />

Out Out of of<br />

Order<br />

Queue

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!