|
| reduction_impl_algo (const T &Identity, BinaryOperation BinaryOp, bool Init, RedOutVar RedOut) |
|
template<typename RelayT = T, typename RelayBinaryOperation = BinaryOperation> |
| reduction_impl_algo (BinaryOperation BinaryOp, bool Init, RedOutVar RedOut, std::enable_if_t< IsKnownIdentityOp< RelayT, RelayBinaryOperation >::value, int >=0) |
|
template<typename RelayT = T, typename RelayBinaryOperation = BinaryOperation> |
| reduction_impl_algo (BinaryOperation BinaryOp, bool Init, RedOutVar RedOut, std::enable_if_t<!IsKnownIdentityOp< RelayT, RelayBinaryOperation >::value, int >=0) |
|
auto | getReadAccToPreviousPartialReds (handler &CGH) const |
|
template<bool IsOneWG> |
auto | getWriteMemForPartialReds (size_t Size, handler &CGH) |
|
template<class _T = T> |
auto & | getTempBuffer (size_t Size, handler &CGH) |
|
auto | getWriteAccForPartialReds (size_t Size, handler &CGH) |
| Returns an accessor accessing the memory that will hold the reduction partial sums. More...
|
|
template<typename KernelName , typename FuncTy , bool HasIdentity = has_identity> |
std::enable_if_t< HasIdentity > | withInitializedMem (handler &CGH, FuncTy Func) |
| Provide Func with a properly initialized memory to write the reduction result to. More...
|
|
template<typename KernelName , typename FuncTy , bool HasIdentity = has_identity> |
std::enable_if_t<!HasIdentity > | withInitializedMem (handler &CGH, FuncTy Func) |
|
const identity_container_type & | getIdentityContainer () |
|
accessor< int, 1, access::mode::read_write, access::target::device, access::placeholder::false_t > | getReadWriteAccessorToInitializedGroupsCounter (handler &CGH) |
|
auto | getGroupsCounterAccDiscrete (handler &CGH) |
|
BinaryOperation | getBinaryOperation () const |
| Returns the binary operation associated with the reduction. More...
|
|
bool | initializeToIdentity () const |
|
auto | getUserRedVarAccess (handler &CGH) |
|
template<typename T, class BinaryOperation, int Dims, size_t Extent, bool ExplicitIdentity, typename RedOutVar>
class sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >
Definition at line 832 of file reduction.hpp.
template<typename T , class BinaryOperation , int Dims, size_t Extent, bool ExplicitIdentity, typename RedOutVar >
template<typename RelayT = T, typename RelayBinaryOperation = BinaryOperation>
sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::reduction_impl_algo |
( |
BinaryOperation |
BinaryOp, |
|
|
bool |
Init, |
|
|
RedOutVar |
RedOut, |
|
|
std::enable_if_t< IsKnownIdentityOp< RelayT, RelayBinaryOperation >::value, int > |
= 0 |
|
) |
| |
|
inline |
template<typename T , class BinaryOperation , int Dims, size_t Extent, bool ExplicitIdentity, typename RedOutVar >
template<typename RelayT = T, typename RelayBinaryOperation = BinaryOperation>
sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::reduction_impl_algo |
( |
BinaryOperation |
BinaryOp, |
|
|
bool |
Init, |
|
|
RedOutVar |
RedOut, |
|
|
std::enable_if_t<!IsKnownIdentityOp< RelayT, RelayBinaryOperation >::value, int > |
= 0 |
|
) |
| |
|
inline |
template<typename T , class BinaryOperation , int Dims, size_t Extent, bool ExplicitIdentity, typename RedOutVar >
template<typename T , class BinaryOperation , int Dims, size_t Extent, bool ExplicitIdentity, typename RedOutVar >
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 940 of file reduction.hpp.
References sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::has_identity, and sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::is_usm.
template<typename T , class BinaryOperation , int Dims, size_t Extent, bool ExplicitIdentity, typename RedOutVar >
template<typename KernelName , typename FuncTy , bool HasIdentity = has_identity>
Provide Func
with a properly initialized memory to write the reduction result to.
It can either be original user's reduction variable or a newly allocated memory initialized with reduction's identity. In the later case, after the Func
finishes, update original user's variable accordingly (i.e., honoring initialize_to_identity property).
Definition at line 973 of file reduction.hpp.
References sycl::_V1::handler::copy(), sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::getBinaryOperation(), sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::initializeToIdentity(), sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::is_usm, sycl::_V1::detail::reduction_impl_algo< T, BinaryOperation, Dims, Extent, ExplicitIdentity, RedOutVar >::num_elements, sycl::_V1::handler::single_task(), and sycl::_V1::detail::reduction::withAuxHandler().
template<typename T , class BinaryOperation , int Dims, size_t Extent, bool ExplicitIdentity, typename RedOutVar >
template<typename KernelName , typename FuncTy , bool HasIdentity = has_identity>