10.07.2015 Views

ATI Stream Computing OpenCL Programming Guide - CiteSeerX

ATI Stream Computing OpenCL Programming Guide - CiteSeerX

ATI Stream Computing OpenCL Programming Guide - CiteSeerX

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.

<strong>ATI</strong> STREAM COMPUTING1.3.3 Work-Item CreationThus, the total execution time for the wavefront is determined by the work-itemwith the longest execution time.Example 2: If t is the time it takes to execute a single iteration of a loop; andwithin a wavefront all work-items execute the loop one time, except for a singlework-item that executes the loop 100 times, the time it takes to execute thatentire wavefront is 100t.For each work-group, the GPU compute device spawns the required number ofwavefronts on a single compute unit. If there are non-active work-items within awavefront, the stream cores that would have been mapped to those work-itemsare idle. An example is a work-group that is a non-multiple of a wavefront size(for example: if the work-group size is 32, the wavefront is half empty andunused).1.3.4 <strong>ATI</strong> Compute Abstraction Layer (CAL)The <strong>ATI</strong> Compute Abstraction Layer (CAL) is a device driver library that providesa forward-compatible interface to <strong>ATI</strong> GPU compute devices (see Figure 1.6).CAL lets software developers interact with the GPU compute devices at thelowest-level for optimized performance, while maintaining forward compatibility.CAL provides:• Device-specific code generation• Device management• Resource management• Kernel loading and execution• Multi-device support• Interoperability with 3D graphics APIsGPUCompute DeviceExecutableGPUCompute DeviceBuffersCAL RuntimeComputeDevice 0ComputeDevice 1ComputeDevice nFigure 1.6CAL FunctionalityCAL includes a set of C routines and data types that allow higher-level softwaretools to control hardware memory buffers (device-level streams) and GPUcompute device programs (device-level kernels). The CAL runtime accepts1.3 The <strong>ATI</strong> <strong>Stream</strong> <strong>Computing</strong> Implementation of <strong>OpenCL</strong> 1-9Copyright © 2010 Advanced Micro Devices, Inc. All rights reserved.

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

Saved successfully!

Ooh no, something went wrong!