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

Create successful ePaper yourself

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

<strong>ATI</strong> STREAM COMPUTINGNDRangeGlobal Domain xget_global_size(0)Work-GroupWork-Group Id = (Bx, By)Global Domain yget_global_size(0)Work-Group1Work-Group2Work-GroupWork-Group Work-Group Work-GroupWork-Group Work-Group Work-GroupnWavefront1WavefrontWavefront2WavefrontWavefrontWavefrontWavefront Wavefront Wavefrontnget_group_size(1)WavefrontWork-ItemWork-Item. . .W-Iid = (0,0) W-Iid = (Gx - 1,0)globalid =globalid =(Bx*Gx, By*Gy) (Bx*Gx + Gx-1, By*Gy). . .. . .. . .Work-Group Size Gyget_group_size(0)Work-Group Size GxWork-ItemW-Iid = (0,Gy-1). . .Work-ItemW-Iid = (Gx-1, Gy-1)globalid = globalid =(Bx*Gx, By*Gy + Gy-1)(Bx*Gx+Gx-1,By*Gy+Gy-1)Figure 1.5Work-Item Grouping Into Work-Groups and Wavefronts1.3.1 Work-Item ProcessingAll stream cores within a compute unit execute the same instruction for eachcycle. A work item can issue one VLIW instruction per clock cycle. The block ofwork-items that are executed together is called a wavefront. To hide latenciesdue to memory accesses and processing element operations, up to four workitemsfrom the same wavefront are pipelined on the same stream core. For1.3 The <strong>ATI</strong> <strong>Stream</strong> <strong>Computing</strong> Implementation of <strong>OpenCL</strong> 1-7Copyright © 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!