- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone,
I would like to say how I can set the number of work groups. I know the attribute "reqd_work_group_size(X,Y,Z)" allows to establish the number of W-I inside a work group (W-G's dimension) in three dimensions but it is not clear to me how to decide the number of these W-G. Could you help me? Thanks for your helpLink Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The local size (number of work-items per work-group) and global size (total number of work-items) are both set in the host code and passed as arguments to clEnqueueNDRangeKernel(). The number of work-groups per dimension is equal to global size per dimension divided by local size per dimension. If you are using reqd_work_group_size() in the kernel, the local size you pass to clEnqueueNDRangeKernel() in the host code MUST match the numbers you pass to reqd_work_group_size() or else the kernel launch will fail.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok thanks. Then the numbers in the attribute "reqd_work_group_size" represent the local size (in three dimensions) not the global size, is it correct? Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
--- Quote Start --- Ok thanks. Then the numbers in the attribute "reqd_work_group_size" represent the local size (in three dimensions) not the global size, is it correct? Thanks. --- Quote End --- Yes, it represents the local size (also called work-group size).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Perfect. Thanks yor your help

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page