DPC++ Runtime
Runtime libraries for oneAPI DPC++
syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args > Struct Template Reference

#include <syclcompat/launch_policy.hpp>

Collaboration diagram for syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >:

Public Member Functions

 KernelFunctor (KProps kernel_props, Args... args)
 
 KernelFunctor (KProps kernel_props, sycl::local_accessor< char, 1 > local_acc, Args... args)
 
auto get (sycl_exp::properties_tag)
 
__syclcompat_inline__ void operator() (syclcompat::detail::range_to_item_t< Range >) const
 

Public Attributes

KProps _kernel_properties
 
std::tuple< Args... > _argument_tuple
 
std::conditional_t< HasLocalMem, sycl::local_accessor< char, 1 >, std::monostate > _local_acc
 

Detailed Description

template<auto F, typename Range, typename KProps, bool HasLocalMem, typename... Args>
struct syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >

Definition at line 198 of file launch_policy.hpp.

Constructor & Destructor Documentation

◆ KernelFunctor() [1/2]

template<auto F, typename Range , typename KProps , bool HasLocalMem, typename... Args>
syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >::KernelFunctor ( KProps  kernel_props,
Args...  args 
)
inline

Definition at line 199 of file launch_policy.hpp.

◆ KernelFunctor() [2/2]

template<auto F, typename Range , typename KProps , bool HasLocalMem, typename... Args>
syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >::KernelFunctor ( KProps  kernel_props,
sycl::local_accessor< char, 1 >  local_acc,
Args...  args 
)
inline

Definition at line 203 of file launch_policy.hpp.

Member Function Documentation

◆ get()

template<auto F, typename Range , typename KProps , bool HasLocalMem, typename... Args>
auto syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >::get ( sycl_exp::properties_tag  )
inline

◆ operator()()

template<auto F, typename Range , typename KProps , bool HasLocalMem, typename... Args>
__syclcompat_inline__ void syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >::operator() ( syclcompat::detail::range_to_item_t< Range >  ) const
inline

Member Data Documentation

◆ _argument_tuple

template<auto F, typename Range , typename KProps , bool HasLocalMem, typename... Args>
std::tuple<Args...> syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >::_argument_tuple

◆ _kernel_properties

template<auto F, typename Range , typename KProps , bool HasLocalMem, typename... Args>
KProps syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >::_kernel_properties

◆ _local_acc

template<auto F, typename Range , typename KProps , bool HasLocalMem, typename... Args>
std::conditional_t<HasLocalMem, sycl::local_accessor<char, 1>, std::monostate> syclcompat::experimental::detail::KernelFunctor< F, Range, KProps, HasLocalMem, Args >::_local_acc

The documentation for this struct was generated from the following file: