Skip to content

Commit 8f456e9

Browse files
authored
Merge pull request intel#37 from frasercrmck/intel-reqd-subgroup-size
[compiler] Support cl_intel_required_subgroup_size
2 parents 45fb808 + b6f2951 commit 8f456e9

File tree

1 file changed

+17
-0
lines changed
  • llvm/lib/SYCLNativeCPUUtils/compiler_passes/compiler_pipeline/docs

1 file changed

+17
-0
lines changed

llvm/lib/SYCLNativeCPUUtils/compiler_passes/compiler_pipeline/docs/utils.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,6 +1067,23 @@ the ``NoUnwind`` attribute can still be generated in certain cases. This pass
10671067
adds the ``NoUnwind`` attribute to every function in the module, for target code
10681068
generators that can't handle exceptions.
10691069

1070+
VerifyReqdSubGroupSizeLegalPass & VerifyReqdSubGroupSizeSatisfiedPass
1071+
---------------------------------------------------------------------
1072+
1073+
These passes check whether the compiler can handle, and has successfully
1074+
handled, a kernel with a required sub-group size.
1075+
1076+
The ``VerifyReqdSubGroupSizeLegalPass`` searches for any kernel with a required
1077+
sub-group size and checks whether the device supports such a size. It does this
1078+
using the target's ``compiler::utils::DeviceInfo`` analysis. Any unsupported
1079+
size results in a compiler diagnostic, which the compiler can handle (usually
1080+
via a build error).
1081+
1082+
The ``VerifyReqdSubGroupSizeSatisfiedPass`` searches for any kernel entry point
1083+
with a required sub-group size and checks whether the vectorizer was able to
1084+
satisfy that requirement. As such, it should be run after vectorization. A
1085+
compiler diagnostic is raised for each kernel for which this does not hold.
1086+
10701087
Metadata Utilities
10711088
------------------
10721089

0 commit comments

Comments
 (0)