@@ -3017,6 +3017,65 @@ In SYCL 2020 mode, the attribute is not propagated to the kernel.
30173017 }];
30183018}
30193019
3020+ def SYCLIntelMinWorkGroupsPerComputeUnitAttrDocs: Documentation {
3021+ let Category = DocCatFunction;
3022+ let Heading = "intel::min_work_groups_per_cu";
3023+ let Content = [{
3024+ Applies to a device function/lambda function. Indicates the desired minimum
3025+ number of resident work_groups per multiprocessor. It complies to the
3026+ .minnctapersm PTX directive.
3027+
3028+ .. code-block:: c++
3029+
3030+ [[intel::min_work_groups_per_cu(2)]] void foo() {}
3031+
3032+ class Foo {
3033+ public:
3034+ [[intel::min_work_groups_per_cu(2)]] void operator()() const {}
3035+ };
3036+
3037+ template <int N>
3038+ class Functor {
3039+ public:
3040+ [[intel::min_work_groups_per_cu(N)]] void operator()() const {}
3041+ };
3042+
3043+ template <int N>
3044+ [[intel::min_work_groups_per_cu(N)]] void func() {}
3045+
3046+ }];
3047+ }
3048+
3049+ def SYCLIntelMaxWorkGroupsPerMultiprocessorDocs: Documentation {
3050+ let Category = DocCatFunction;
3051+ let Heading = "intel::max_work_groups_per_mp";
3052+ let Content = [{
3053+ Applies to a device function/lambda function. Indicates the desired maximum
3054+ number work_groups per cluster with which the application will ever launch. It
3055+ complies to the .maxclusterrank PTX directive. Note, that the feature requires
3056+ SM_90 or higher.
3057+
3058+ .. code-block:: c++
3059+
3060+ [[intel::max_work_groups_per_mp(2)]] void foo() {}
3061+
3062+ class Foo {
3063+ public:
3064+ [[intel::max_work_groups_per_mp(2)]] void operator()() const {}
3065+ };
3066+
3067+ template <int N>
3068+ class Functor {
3069+ public:
3070+ [[intel::max_work_groups_per_mp(N)]] void operator()() const {}
3071+ };
3072+
3073+ template <int N>
3074+ [[intel::max_work_groups_per_mp(N)]] void func() {}
3075+
3076+ }];
3077+ }
3078+
30203079def SYCLIntelMaxGlobalWorkDimAttrDocs : Documentation {
30213080 let Category = DocCatFunction;
30223081 let Heading = "intel::max_global_work_dim";
0 commit comments