DPC++ Runtime
Runtime libraries for oneAPI DPC++
cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > > Class Template Reference

Original reduction algorithm is the default. More...

#include <sycl/ext/oneapi/reduction.hpp>

Inheritance diagram for cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >:
Collaboration diagram for cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >:

Public Types

using reducer_type = reducer< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >
 
using result_type = T
 
using binary_operation = BinaryOperation
 
using rw_accessor_type = accessor< T, AccessorDims, access::mode::read_write, access::target::device, IsPlaceholder, ext::oneapi::accessor_property_list<> >
 
using dw_accessor_type = accessor< T, AccessorDims, access::mode::discard_write, access::target::device, IsPlaceholder, ext::oneapi::accessor_property_list<> >
 

Public Member Functions

 reduction_impl_algo (const T &Identity, BinaryOperation BinaryOp, bool Init, std::shared_ptr< rw_accessor_type > AccPointer)
 
 reduction_impl_algo (const T &Identity, BinaryOperation BinaryOp, bool Init, std::shared_ptr< dw_accessor_type > AccPointer)
 
 reduction_impl_algo (const T &Identity, BinaryOperation BinaryOp, bool Init, T *USMPointer)
 
void associateWithHandler (handler &CGH)
 Associates the reduction accessor to user's memory with CGH handler to keep the accessor alive until the command group finishes the work. More...
 
accessor< T, buffer_dim, access::mode::readgetReadAccToPreviousPartialReds (handler &CGH) const
 
template<bool IsOneWG, bool _IsUSM = is_usm>
std::enable_if_t< IsOneWG &&_IsUSM, result_type * > getWriteMemForPartialReds (size_t, handler &)
 Returns user's USM pointer passed to reduction for editing. More...
 
template<bool IsOneWG, bool _IsUSM = is_usm>
std::enable_if_t< IsOneWG &&!_IsUSM, rw_accessor_typegetWriteMemForPartialReds (size_t, handler &CGH)
 Returns user's accessor passed to reduction for editing if that is the read-write accessor. More...
 
template<bool IsOneWG>
std::enable_if_t<!IsOneWG, rw_accessor_typegetWriteMemForPartialReds (size_t Size, handler &CGH)
 Constructs a new temporary buffer to hold partial sums and returns the accessor for that buffer. More...
 
rw_accessor_type getWriteAccForPartialReds (size_t Size, handler &CGH)
 Returns an accessor accessing the memory that will hold the reduction partial sums. More...
 
template<bool HasFastAtomics = (has_fast_atomics || has_atomic_add_float64)>
std::enable_if_t< HasFastAtomics, rw_accessor_typegetReadWriteAccessorToInitializedMem (handler &CGH)
 If reduction is initialized with read-write accessor, which does not require initialization with identity value, then return user's read-write accessor. More...
 
accessor< int, 1, access::mode::read_write, access::target::device, access::placeholder::false_tgetReadWriteAccessorToInitializedGroupsCounter (handler &CGH)
 
bool hasUserDiscardWriteAccessor ()
 
template<bool _IsUSM = IsUSM>
std::enable_if_t<!_IsUSM, rw_accessor_type & > getUserReadWriteAccessor ()
 
template<bool _IsUSM = IsUSM>
std::enable_if_t<!_IsUSM, dw_accessor_type & > getUserDiscardWriteAccessor ()
 
result_typegetUSMPointer ()
 
- Public Member Functions inherited from cl::sycl::ext::oneapi::detail::reduction_impl_common< T, BinaryOperation >
template<typename _T = T, class _BinaryOperation = BinaryOperation>
constexpr enable_if_t< IsKnownIdentityOp< _T, _BinaryOperation >::value, _T > getIdentity ()
 Returns the statically known identity value. More...
 
template<typename _T = T, class _BinaryOperation = BinaryOperation>
enable_if_t<!IsKnownIdentityOp< _T, _BinaryOperation >::value, _T > getIdentity ()
 Returns the identity value given by user. More...
 
BinaryOperation getBinaryOperation () const
 Returns the binary operation associated with the reduction. More...
 
bool initializeToIdentity () const
 

Static Public Member Functions

template<typename _T = result_type>
static accessor< _T, buffer_dim, access::mode::read_write, access::target::localgetReadWriteLocalAcc (size_t Size, handler &CGH)
 Creates and returns a local accessor with the Size elements. More...
 
static result_typegetOutPointer (const rw_accessor_type &OutAcc)
 
static result_typegetOutPointer (result_type *OutPtr)
 

Static Public Attributes

static constexpr int accessor_dim = AccessorDims
 
static constexpr int buffer_dim = (AccessorDims == 0) ? 1 : AccessorDims
 
static constexpr bool has_atomic_add_float64
 
static constexpr bool has_fast_atomics
 
static constexpr bool has_fast_reduce
 
static constexpr bool is_usm = IsUSM
 
static constexpr bool is_placeholder
 
static constexpr size_t dims = Dims
 
static constexpr size_t num_elements = Extent
 

Additional Inherited Members

- Protected Member Functions inherited from cl::sycl::ext::oneapi::detail::reduction_impl_common< T, BinaryOperation >
 reduction_impl_common (const T &Identity, BinaryOperation BinaryOp, bool Init=false)
 
- Protected Attributes inherited from cl::sycl::ext::oneapi::detail::reduction_impl_common< T, BinaryOperation >
const T MIdentity
 Identity of the BinaryOperation. More...
 
BinaryOperation MBinaryOp
 
bool InitializeToIdentity
 

Detailed Description

template<typename T, class BinaryOperation, int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
class cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >

Original reduction algorithm is the default.

It supports both USM and accessors via a single class

Definition at line 503 of file reduction.hpp.

Member Typedef Documentation

◆ binary_operation

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
using cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::binary_operation = BinaryOperation

Definition at line 514 of file reduction.hpp.

◆ dw_accessor_type

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
using cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::dw_accessor_type = accessor<T, AccessorDims, access::mode::discard_write, access::target::device, IsPlaceholder, ext::oneapi::accessor_property_list<> >

Definition at line 527 of file reduction.hpp.

◆ reducer_type

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
using cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::reducer_type = reducer<T, BinaryOperation, Dims, Extent, default_reduction_algorithm<IsUSM, IsPlaceholder, AccessorDims> >

Definition at line 512 of file reduction.hpp.

◆ result_type

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
using cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::result_type = T

Definition at line 513 of file reduction.hpp.

◆ rw_accessor_type

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
using cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::rw_accessor_type = accessor<T, AccessorDims, access::mode::read_write, access::target::device, IsPlaceholder, ext::oneapi::accessor_property_list<> >

Definition at line 523 of file reduction.hpp.

Constructor & Destructor Documentation

◆ reduction_impl_algo() [1/3]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::reduction_impl_algo ( const T Identity,
BinaryOperation  BinaryOp,
bool  Init,
std::shared_ptr< rw_accessor_type AccPointer 
)
inline

Definition at line 542 of file reduction.hpp.

◆ reduction_impl_algo() [2/3]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::reduction_impl_algo ( const T Identity,
BinaryOperation  BinaryOp,
bool  Init,
std::shared_ptr< dw_accessor_type AccPointer 
)
inline

Definition at line 545 of file reduction.hpp.

◆ reduction_impl_algo() [3/3]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::reduction_impl_algo ( const T Identity,
BinaryOperation  BinaryOp,
bool  Init,
T USMPointer 
)
inline

Definition at line 548 of file reduction.hpp.

Member Function Documentation

◆ associateWithHandler()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
void cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::associateWithHandler ( handler CGH)
inline

Associates the reduction accessor to user's memory with CGH handler to keep the accessor alive until the command group finishes the work.

This function does not do anything for USM reductions.

Definition at line 555 of file reduction.hpp.

◆ getOutPointer() [1/2]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
static result_type* cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getOutPointer ( const rw_accessor_type OutAcc)
inlinestatic

◆ getOutPointer() [2/2]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
static result_type* cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getOutPointer ( result_type OutPtr)
inlinestatic

Definition at line 685 of file reduction.hpp.

◆ getReadAccToPreviousPartialReds()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
accessor<T, buffer_dim, access::mode::read> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getReadAccToPreviousPartialReds ( handler CGH) const
inline

Definition at line 578 of file reduction.hpp.

◆ getReadWriteAccessorToInitializedGroupsCounter()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
accessor<int, 1, access::mode::read_write, access::target::device, access::placeholder::false_t> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getReadWriteAccessorToInitializedGroupsCounter ( handler CGH)
inline

Definition at line 655 of file reduction.hpp.

◆ getReadWriteAccessorToInitializedMem()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
template<bool HasFastAtomics = (has_fast_atomics || has_atomic_add_float64)>
std::enable_if_t<HasFastAtomics, rw_accessor_type> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getReadWriteAccessorToInitializedMem ( handler CGH)
inline

If reduction is initialized with read-write accessor, which does not require initialization with identity value, then return user's read-write accessor.

Otherwise, create global buffer with 'num_elements' initialized with identity value and return an accessor to that buffer.

Definition at line 635 of file reduction.hpp.

◆ getReadWriteLocalAcc()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
template<typename _T = result_type>
static accessor<_T, buffer_dim, access::mode::read_write, access::target::local> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getReadWriteLocalAcc ( size_t  Size,
handler CGH 
)
inlinestatic

Creates and returns a local accessor with the Size elements.

By default the local accessor elements are of the same type as the elements processed by the reduction, but may it be altered by specifying _T explicitly if need an accessor with elements of different type.

Definition at line 573 of file reduction.hpp.

◆ getUserDiscardWriteAccessor()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
template<bool _IsUSM = IsUSM>
std::enable_if_t<!_IsUSM, dw_accessor_type &> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getUserDiscardWriteAccessor ( )
inline

Definition at line 672 of file reduction.hpp.

◆ getUserReadWriteAccessor()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
template<bool _IsUSM = IsUSM>
std::enable_if_t<!_IsUSM, rw_accessor_type &> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getUserReadWriteAccessor ( )
inline

Definition at line 667 of file reduction.hpp.

◆ getUSMPointer()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
result_type* cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getUSMPointer ( )
inline

Definition at line 676 of file reduction.hpp.

◆ getWriteAccForPartialReds()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
rw_accessor_type cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getWriteAccForPartialReds ( size_t  Size,
handler CGH 
)
inline

Returns an accessor accessing the memory that will hold the reduction partial sums.

If Size is equal to one, then the reduction result is the final and needs to be written to user's read-write accessor (if there is such). Otherwise, a new buffer is created and accessor to that buffer is returned.

Definition at line 617 of file reduction.hpp.

References cl::sycl::detail::associateWithHandler().

◆ getWriteMemForPartialReds() [1/3]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
template<bool IsOneWG>
std::enable_if_t<!IsOneWG, rw_accessor_type> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getWriteMemForPartialReds ( size_t  Size,
handler CGH 
)
inline

Constructs a new temporary buffer to hold partial sums and returns the accessor for that buffer.

Definition at line 605 of file reduction.hpp.

◆ getWriteMemForPartialReds() [2/3]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
template<bool IsOneWG, bool _IsUSM = is_usm>
std::enable_if_t<IsOneWG && _IsUSM, result_type *> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getWriteMemForPartialReds ( size_t  ,
handler  
)
inline

Returns user's USM pointer passed to reduction for editing.

Definition at line 586 of file reduction.hpp.

◆ getWriteMemForPartialReds() [3/3]

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
template<bool IsOneWG, bool _IsUSM = is_usm>
std::enable_if_t<IsOneWG && !_IsUSM, rw_accessor_type> cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::getWriteMemForPartialReds ( size_t  ,
handler CGH 
)
inline

Returns user's accessor passed to reduction for editing if that is the read-write accessor.

Otherwise, create a new buffer and return read-write accessor to it.

Definition at line 595 of file reduction.hpp.

◆ hasUserDiscardWriteAccessor()

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
bool cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::hasUserDiscardWriteAccessor ( )
inline

Definition at line 664 of file reduction.hpp.

Member Data Documentation

◆ accessor_dim

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr int cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::accessor_dim = AccessorDims
staticconstexpr

Definition at line 519 of file reduction.hpp.

◆ buffer_dim

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr int cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::buffer_dim = (AccessorDims == 0) ? 1 : AccessorDims
staticconstexpr

Definition at line 520 of file reduction.hpp.

◆ dims

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr size_t cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::dims = Dims
staticconstexpr

Definition at line 539 of file reduction.hpp.

◆ has_atomic_add_float64

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr bool cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::has_atomic_add_float64
staticconstexpr
Initial value:
=
IsReduOptForAtomic64Add<T, BinaryOperation>::value

Definition at line 529 of file reduction.hpp.

◆ has_fast_atomics

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr bool cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::has_fast_atomics
staticconstexpr
Initial value:
=
IsReduOptForFastAtomicFetch<T, BinaryOperation>::value

Definition at line 531 of file reduction.hpp.

◆ has_fast_reduce

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr bool cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::has_fast_reduce
staticconstexpr
Initial value:
=
IsReduOptForFastReduce<T, BinaryOperation>::value

Definition at line 533 of file reduction.hpp.

◆ is_placeholder

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr bool cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::is_placeholder
staticconstexpr
Initial value:
=
(IsPlaceholder == access::placeholder::true_t)

Definition at line 536 of file reduction.hpp.

◆ is_usm

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr bool cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::is_usm = IsUSM
staticconstexpr

Definition at line 535 of file reduction.hpp.

◆ num_elements

template<typename T , class BinaryOperation , int Dims, size_t Extent, bool IsUSM, access::placeholder IsPlaceholder, int AccessorDims>
constexpr size_t cl::sycl::ext::oneapi::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, default_reduction_algorithm< IsUSM, IsPlaceholder, AccessorDims > >::num_elements = Extent
staticconstexpr

Definition at line 540 of file reduction.hpp.


The documentation for this class was generated from the following file:
cl::sycl::access::placeholder::true_t
@ true_t