@@ -774,10 +774,6 @@ class __SYCL_EXPORT handler {
774
774
// /
775
775
// / \param KernelName is the name of the SYCL kernel to check that the used
776
776
// / kernel bundle contains.
777
- template <typename KernelNameT> void verifyUsedKernelBundle () {
778
- verifyUsedKernelBundleInternal (
779
- detail::string_view{detail::getKernelName<KernelNameT>()});
780
- }
781
777
void verifyUsedKernelBundleInternal (detail::string_view KernelName);
782
778
783
779
// / Stores lambda to the template-free object
@@ -1233,7 +1229,6 @@ class __SYCL_EXPORT handler {
1233
1229
// conflicts they should be included in the name.
1234
1230
using NameT =
1235
1231
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
1236
- verifyUsedKernelBundle<NameT>();
1237
1232
1238
1233
// Range rounding can be disabled by the user.
1239
1234
// Range rounding is not done on the host device.
@@ -1254,6 +1249,8 @@ class __SYCL_EXPORT handler {
1254
1249
kernel_parallel_for_wrapper<KName, TransformedArgType, decltype (Wrapper),
1255
1250
PropertiesT>(Wrapper);
1256
1251
#ifndef __SYCL_DEVICE_ONLY__
1252
+ verifyUsedKernelBundleInternal (
1253
+ detail::string_view{detail::getKernelName<NameT>()});
1257
1254
// We are executing over the rounded range, but there are still
1258
1255
// items/ids that are are constructed in ther range rounded
1259
1256
// kernel use items/ids in the user range, which means that
@@ -1279,6 +1276,8 @@ class __SYCL_EXPORT handler {
1279
1276
kernel_parallel_for_wrapper<NameT, TransformedArgType, KernelType,
1280
1277
PropertiesT>(KernelFunc);
1281
1278
#ifndef __SYCL_DEVICE_ONLY__
1279
+ verifyUsedKernelBundleInternal (
1280
+ detail::string_view{detail::getKernelName<NameT>()});
1282
1281
processProperties<detail::isKernelESIMD<NameT>(), PropertiesT>(Props);
1283
1282
detail::checkValueRange<Dims>(UserRange);
1284
1283
setNDRangeDescriptor (std::move (UserRange));
@@ -1315,7 +1314,6 @@ class __SYCL_EXPORT handler {
1315
1314
// conflicts they should be included in the name.
1316
1315
using NameT =
1317
1316
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
1318
- verifyUsedKernelBundle<NameT>();
1319
1317
using LambdaArgType =
1320
1318
sycl::detail::lambda_arg_type<KernelType, nd_item<Dims>>;
1321
1319
static_assert (
@@ -1329,6 +1327,8 @@ class __SYCL_EXPORT handler {
1329
1327
kernel_parallel_for_wrapper<NameT, TransformedArgType, KernelType,
1330
1328
PropertiesT>(KernelFunc);
1331
1329
#ifndef __SYCL_DEVICE_ONLY__
1330
+ verifyUsedKernelBundleInternal (
1331
+ detail::string_view{detail::getKernelName<NameT>()});
1332
1332
detail::checkValueRange<Dims>(ExecutionRange);
1333
1333
setNDRangeDescriptor (std::move (ExecutionRange));
1334
1334
processProperties<detail::isKernelESIMD<NameT>(), PropertiesT>(Props);
@@ -1405,14 +1405,15 @@ class __SYCL_EXPORT handler {
1405
1405
// conflicts they should be included in the name.
1406
1406
using NameT =
1407
1407
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
1408
- verifyUsedKernelBundle<NameT>();
1409
1408
using LambdaArgType =
1410
1409
sycl::detail::lambda_arg_type<KernelType, group<Dims>>;
1411
1410
(void )NumWorkGroups;
1412
1411
(void )Props;
1413
1412
kernel_parallel_for_work_group_wrapper<NameT, LambdaArgType, KernelType,
1414
1413
PropertiesT>(KernelFunc);
1415
1414
#ifndef __SYCL_DEVICE_ONLY__
1415
+ verifyUsedKernelBundleInternal (
1416
+ detail::string_view{detail::getKernelName<NameT>()});
1416
1417
processProperties<detail::isKernelESIMD<NameT>(), PropertiesT>(Props);
1417
1418
detail::checkValueRange<Dims>(NumWorkGroups);
1418
1419
setNDRangeDescriptor (NumWorkGroups, /* SetNumWorkGroups=*/ true );
@@ -1446,7 +1447,6 @@ class __SYCL_EXPORT handler {
1446
1447
// conflicts they should be included in the name.
1447
1448
using NameT =
1448
1449
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
1449
- verifyUsedKernelBundle<NameT>();
1450
1450
using LambdaArgType =
1451
1451
sycl::detail::lambda_arg_type<KernelType, group<Dims>>;
1452
1452
(void )NumWorkGroups;
@@ -1455,6 +1455,8 @@ class __SYCL_EXPORT handler {
1455
1455
kernel_parallel_for_work_group_wrapper<NameT, LambdaArgType, KernelType,
1456
1456
PropertiesT>(KernelFunc);
1457
1457
#ifndef __SYCL_DEVICE_ONLY__
1458
+ verifyUsedKernelBundleInternal (
1459
+ detail::string_view{detail::getKernelName<NameT>()});
1458
1460
processProperties<detail::isKernelESIMD<NameT>(), PropertiesT>(Props);
1459
1461
nd_range<Dims> ExecRange =
1460
1462
nd_range<Dims>(NumWorkGroups * WorkGroupSize, WorkGroupSize);
@@ -1728,9 +1730,10 @@ class __SYCL_EXPORT handler {
1728
1730
using NameT =
1729
1731
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
1730
1732
1731
- verifyUsedKernelBundle<NameT>();
1732
1733
kernel_single_task_wrapper<NameT, KernelType, PropertiesT>(KernelFunc);
1733
1734
#ifndef __SYCL_DEVICE_ONLY__
1735
+ verifyUsedKernelBundleInternal (
1736
+ detail::string_view{detail::getKernelName<NameT>()});
1734
1737
// No need to check if range is out of INT_MAX limits as it's compile-time
1735
1738
// known constant.
1736
1739
setNDRangeDescriptor (range<1 >{1 });
@@ -2024,7 +2027,6 @@ class __SYCL_EXPORT handler {
2024
2027
throwIfActionIsCreated ();
2025
2028
using NameT =
2026
2029
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
2027
- verifyUsedKernelBundle<NameT>();
2028
2030
using LambdaArgType = sycl::detail::lambda_arg_type<KernelType, item<Dims>>;
2029
2031
using TransformedArgType = std::conditional_t <
2030
2032
std::is_integral<LambdaArgType>::value && Dims == 1 , item<Dims>,
@@ -2033,6 +2035,8 @@ class __SYCL_EXPORT handler {
2033
2035
(void )WorkItemOffset;
2034
2036
kernel_parallel_for_wrapper<NameT, TransformedArgType>(KernelFunc);
2035
2037
#ifndef __SYCL_DEVICE_ONLY__
2038
+ verifyUsedKernelBundleInternal (
2039
+ detail::string_view{detail::getKernelName<NameT>()});
2036
2040
detail::checkValueRange<Dims>(NumWorkItems, WorkItemOffset);
2037
2041
setNDRangeDescriptor (std::move (NumWorkItems), std::move (WorkItemOffset));
2038
2042
StoreLambda<NameT, KernelType, Dims, TransformedArgType>(
@@ -2165,10 +2169,11 @@ class __SYCL_EXPORT handler {
2165
2169
setHandlerKernelBundle (Kernel);
2166
2170
using NameT =
2167
2171
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
2168
- verifyUsedKernelBundle<NameT>();
2169
2172
(void )Kernel;
2170
2173
kernel_single_task<NameT>(KernelFunc);
2171
2174
#ifndef __SYCL_DEVICE_ONLY__
2175
+ verifyUsedKernelBundleInternal (
2176
+ detail::string_view{detail::getKernelName<NameT>()});
2172
2177
// No need to check if range is out of INT_MAX limits as it's compile-time
2173
2178
// known constant
2174
2179
setNDRangeDescriptor (range<1 >{1 });
@@ -2200,12 +2205,13 @@ class __SYCL_EXPORT handler {
2200
2205
setHandlerKernelBundle (Kernel);
2201
2206
using NameT =
2202
2207
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
2203
- verifyUsedKernelBundle<NameT>();
2204
2208
using LambdaArgType = sycl::detail::lambda_arg_type<KernelType, item<Dims>>;
2205
2209
(void )Kernel;
2206
2210
(void )NumWorkItems;
2207
2211
kernel_parallel_for_wrapper<NameT, LambdaArgType>(KernelFunc);
2208
2212
#ifndef __SYCL_DEVICE_ONLY__
2213
+ verifyUsedKernelBundleInternal (
2214
+ detail::string_view{detail::getKernelName<NameT>()});
2209
2215
detail::checkValueRange<Dims>(NumWorkItems);
2210
2216
setNDRangeDescriptor (std::move (NumWorkItems));
2211
2217
MKernel = detail::getSyclObjImpl (std::move (Kernel));
@@ -2239,13 +2245,14 @@ class __SYCL_EXPORT handler {
2239
2245
setHandlerKernelBundle (Kernel);
2240
2246
using NameT =
2241
2247
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
2242
- verifyUsedKernelBundle<NameT>();
2243
2248
using LambdaArgType = sycl::detail::lambda_arg_type<KernelType, item<Dims>>;
2244
2249
(void )Kernel;
2245
2250
(void )NumWorkItems;
2246
2251
(void )WorkItemOffset;
2247
2252
kernel_parallel_for_wrapper<NameT, LambdaArgType>(KernelFunc);
2248
2253
#ifndef __SYCL_DEVICE_ONLY__
2254
+ verifyUsedKernelBundleInternal (
2255
+ detail::string_view{detail::getKernelName<NameT>()});
2249
2256
detail::checkValueRange<Dims>(NumWorkItems, WorkItemOffset);
2250
2257
setNDRangeDescriptor (std::move (NumWorkItems), std::move (WorkItemOffset));
2251
2258
MKernel = detail::getSyclObjImpl (std::move (Kernel));
@@ -2278,13 +2285,14 @@ class __SYCL_EXPORT handler {
2278
2285
setHandlerKernelBundle (Kernel);
2279
2286
using NameT =
2280
2287
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
2281
- verifyUsedKernelBundle<NameT>();
2282
2288
using LambdaArgType =
2283
2289
sycl::detail::lambda_arg_type<KernelType, nd_item<Dims>>;
2284
2290
(void )Kernel;
2285
2291
(void )NDRange;
2286
2292
kernel_parallel_for_wrapper<NameT, LambdaArgType>(KernelFunc);
2287
2293
#ifndef __SYCL_DEVICE_ONLY__
2294
+ verifyUsedKernelBundleInternal (
2295
+ detail::string_view{detail::getKernelName<NameT>()});
2288
2296
detail::checkValueRange<Dims>(NDRange);
2289
2297
setNDRangeDescriptor (std::move (NDRange));
2290
2298
MKernel = detail::getSyclObjImpl (std::move (Kernel));
@@ -2321,13 +2329,14 @@ class __SYCL_EXPORT handler {
2321
2329
setHandlerKernelBundle (Kernel);
2322
2330
using NameT =
2323
2331
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
2324
- verifyUsedKernelBundle<NameT>();
2325
2332
using LambdaArgType =
2326
2333
sycl::detail::lambda_arg_type<KernelType, group<Dims>>;
2327
2334
(void )Kernel;
2328
2335
(void )NumWorkGroups;
2329
2336
kernel_parallel_for_work_group_wrapper<NameT, LambdaArgType>(KernelFunc);
2330
2337
#ifndef __SYCL_DEVICE_ONLY__
2338
+ verifyUsedKernelBundleInternal (
2339
+ detail::string_view{detail::getKernelName<NameT>()});
2331
2340
detail::checkValueRange<Dims>(NumWorkGroups);
2332
2341
setNDRangeDescriptor (NumWorkGroups, /* SetNumWorkGroups=*/ true );
2333
2342
MKernel = detail::getSyclObjImpl (std::move (Kernel));
@@ -2361,14 +2370,15 @@ class __SYCL_EXPORT handler {
2361
2370
setHandlerKernelBundle (Kernel);
2362
2371
using NameT =
2363
2372
typename detail::get_kernel_name_t <KernelName, KernelType>::name;
2364
- verifyUsedKernelBundle<NameT>();
2365
2373
using LambdaArgType =
2366
2374
sycl::detail::lambda_arg_type<KernelType, group<Dims>>;
2367
2375
(void )Kernel;
2368
2376
(void )NumWorkGroups;
2369
2377
(void )WorkGroupSize;
2370
2378
kernel_parallel_for_work_group_wrapper<NameT, LambdaArgType>(KernelFunc);
2371
2379
#ifndef __SYCL_DEVICE_ONLY__
2380
+ verifyUsedKernelBundleInternal (
2381
+ detail::string_view{detail::getKernelName<NameT>()});
2372
2382
nd_range<Dims> ExecRange =
2373
2383
nd_range<Dims>(NumWorkGroups * WorkGroupSize, WorkGroupSize);
2374
2384
detail::checkValueRange<Dims>(ExecRange);
0 commit comments