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

Anastasia Stulova via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 22 04:20:35 PDT 2021


Anastasia added a comment.

In D100984#2707980 <https://reviews.llvm.org/D100984#2707980>, @azabaznov wrote:

> I wish it could be true... But `cl_khr_subgroups` still requires pragma in some versions as it wasn't a core feature earlier (https://www.khronos.org/registry/OpenCL/sdk/2.2/docs/man/html/cl_khr_subgroups.html).

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.

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

> I know that we are going around in circles and we discussed this many times... But I see your point and this will definitely lead to overall simplification of OpenCL codebase in clang. Maybe we could add a comment into docs that we are deprecating pragmas?

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?


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

https://reviews.llvm.org/D100984



More information about the cfe-commits mailing list