cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Fuxianjun
Journeyman III

confused by several concept of OpenCL

I have studied OpenCL for several months, but I can't understand some glossary, does anyone explain for me? I am so grateful.

1.Is the workitems number in wavefront a constant on specific hardware chip ?

2.Is workitem the elementary unit to execute the kernel or wavefront ?

3.On ATI Stream Computing OpenCL, it says wavefronts execute N number of work-items in parallel. Dose it means that two workitems in the same wavefront can execute different kernels ?

4.Is it correct that workgroup is related to software but not hardware ? Is it better to take wavefront size as the reference when specify workgroup size ?

 5.How to query wavefront size from OpenCL API function ?

0 Likes
8 Replies
nou
Exemplar

1. yes. radeon 5800 series have 64 work item in wavefront and 5400 have 32

2. wavefront contains multiple workitem.

3. no it means that 64 workitems execute one instructions on multiple data in four cycles.

4. it is related to HW that one workgroup is mapped to one or more wavefront. to achive optimal performance you should utilize the wavefront size to fullest. so make workgroup size multiple of wavefront size.

5. currently it is not possible.

0 Likes

Originally posted by: nou

3. no it means that 64 workitems execute one instructions on multiple data in four cycles.

thank you very much, but what means "in four cycles"?

0 Likes

it means that one wavefront of 64 items are executex in four HW ticks per 16 items. read more in OpenCL programing guide.

0 Likes

Originally posted by: nou it means that one wavefront of 64 items are executex in four HW ticks per 16 items. read more in OpenCL programing guide.

thanks again, I have no idea what OpenCL programing guide is , is it The OpenCL Specification ? If not ,where can I download it or can you send it to me ?

0 Likes

are OpenCL programing guide and ATI Stream Computing OpenCL™ the same ?

0 Likes
genaganna
Journeyman III

Originally posted by: Fuxianjun

 

 5.How to query wavefront size from OpenCL API function ?

 

You can get this information  from clGetKernelGroupInfo with CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE.  This is supported in SDK2.2

 

SDK2.2 available at http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx

0 Likes

thank you ! could you please tell me dose SDK2.2 support OpenCL 1.1 ?

0 Likes

Originally posted by: Fuxianjun thank you ! could you please tell me dose SDK2.2 support OpenCL 1.1 ?

 

Yes SDK2.2 supports OpenCL1.1.

 

Document are available at http://developer.amd.com/gpu/ATIStreamSDK/pages/Documentation.aspx

 

0 Likes