@@ -1616,6 +1616,9 @@ class __SYCL_EXPORT handler {
1616
1616
KernelWrapper<WrapAsVal, NameT, KernelType, ElementType, PropertiesT>::wrap (
1617
1617
this , KernelFunc);
1618
1618
#ifndef __SYCL_DEVICE_ONLY__
1619
+ if constexpr (WrapAsVal == WrapAs::single_task) {
1620
+ throwOnKernelParameterMisuse<KernelName, KernelType>();
1621
+ }
1619
1622
throwIfActionIsCreated ();
1620
1623
if constexpr (std::is_same_v<MaybeKernelTy, kernel>) {
1621
1624
// Ignore any set kernel bundles and use the one associated with the
@@ -1653,25 +1656,6 @@ class __SYCL_EXPORT handler {
1653
1656
// NOTE: to support kernel_handler argument in kernel lambdas, only
1654
1657
// KernelWrapper<...>::wrap() must be called in this code.
1655
1658
1656
- // / Defines and invokes a SYCL kernel function as a function object type.
1657
- // /
1658
- // / If it is a named function object and the function object type is
1659
- // / globally visible, there is no need for the developer to provide
1660
- // / a kernel name for it.
1661
- // /
1662
- // / \param KernelFunc is a SYCL kernel function.
1663
- template <
1664
- typename KernelName, typename KernelType,
1665
- typename PropertiesT = ext::oneapi::experimental::empty_properties_t >
1666
- void single_task_lambda_impl (PropertiesT Props,
1667
- const KernelType &KernelFunc) {
1668
- wrap_kernel<WrapAs::single_task, KernelName>(KernelFunc, nullptr /* Kernel*/ ,
1669
- Props, range<1 >{1 });
1670
- #ifndef __SYCL_DEVICE_ONLY__
1671
- throwOnKernelParameterMisuse<KernelName, KernelType>();
1672
- #endif
1673
- }
1674
-
1675
1659
void setStateExplicitKernelBundle ();
1676
1660
void setStateSpecConstSet ();
1677
1661
bool isStateExplicitKernelBundle () const ;
@@ -1889,8 +1873,8 @@ class __SYCL_EXPORT handler {
1889
1873
// / \param KernelFunc is a SYCL kernel function.
1890
1874
template <typename KernelName = detail::auto_name, typename KernelType>
1891
1875
void single_task (const KernelType &KernelFunc) {
1892
- single_task_lambda_impl< KernelName>(
1893
- ext::oneapi::experimental:: empty_properties_t {}, KernelFunc );
1876
+ wrap_kernel<WrapAs::single_task, KernelName>(KernelFunc, nullptr /* Kernel */ ,
1877
+ {} /* Props */ , range< 1 >{ 1 } );
1894
1878
}
1895
1879
1896
1880
template <typename KernelName = detail::auto_name, typename KernelType>
@@ -2224,8 +2208,8 @@ class __SYCL_EXPORT handler {
2224
2208
std::enable_if_t <ext::oneapi::experimental::is_property_list<
2225
2209
PropertiesT>::value> single_task (PropertiesT Props,
2226
2210
const KernelType &KernelFunc) {
2227
- single_task_lambda_impl<KernelName, KernelType, PropertiesT>(Props ,
2228
- KernelFunc );
2211
+ wrap_kernel<WrapAs::single_task, KernelName>(KernelFunc, nullptr /* Kernel */ ,
2212
+ Props, range< 1 >{ 1 } );
2229
2213
}
2230
2214
2231
2215
template <typename KernelName = detail::auto_name, typename KernelType,
0 commit comments