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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

OPENCL EXECUTION MODEL<br />

An <strong>OpenCL</strong> application runs on a host which<br />

submits work to the compute devices<br />

– Work item: the basic unit of work on an<br />

<strong>OpenCL</strong> device<br />

– Kernel: the code for a work item.<br />

Basically a C function<br />

– Program: Collection of kernels and other<br />

functions (Analogous to a dynamic library)<br />

– Context: The environment <strong>with</strong>in which workitems<br />

executes … includes devices and their<br />

memories and command queues<br />

Applications queue kernel execution instances<br />

– Queued in-order … one queue to a device<br />

– Executed in-order or out-of-order<br />

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

GPU CPU<br />

Context<br />

Queue Queue

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

Saved successfully!

Ooh no, something went wrong!