[PATCH] D100984: [OpenCL] Remove the need for subgroupd extension pragma in enqueue kernel builtins

Anton Zabaznov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 22 05:01:06 PDT 2021


azabaznov added a comment.

> Btw I am not suggesting removing the pragma. We will still have to parse it for backward compatibility. I am only dropping the requirement of using it in order to call get_kernel_max_sub_group_size_for_ndrange or get_kernel_sub_group_count_for_ndrange when the extension is supported. Because I don't see why this would be needed especially that all other functions from subgroups can be called without the pragma https://godbolt.org/z/MYavchPT3.

Oh! I didn't get that! I see another one https://godbolt.org/z/3GPW31W9c, https://godbolt.org/z/dYasedxjx. This is also fixed with your patch, right?

> Btw the newer extension specs don't contain the pragma e.g. https://www.khronos.org/registry/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#_extended_subgroup_functions

Indeed... No wording about pragma even in OpenCL C 2.0...

> Right now we have the following in the docs: https://clang.llvm.org/docs/OpenCLSupport.html#implementation-guidelines
>
>> Note that some legacy extensions (published prior to OpenCL 3.0) still provide some non-conformant functionality for pragmas e.g. add diagnostics on the use of types or functions. This functionality is not guaranteed to remain in future releases. However, any future changes should not affect backward compatibility.
>
> This is not quite deprecation but it makes it clear that the behavior can change as soon as backward compatibility is preserved.
>
> Would you like us to add or ammend anything?

I think this fine for this change since the patch doesn't change anything but fixes a bug.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100984/new/

https://reviews.llvm.org/D100984



More information about the cfe-commits mailing list