/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck/utility/reduction_operator.hpp Source File#
reduction_operator.hpp
Go to the documentation of this file.
15 // Every binary operator used in reduction is represented by a templated functor class. Each functor
24 // 2) IsCompatibleInMemoryDataOperation() -- return true if the reduction task corresponding to this
247 __host__ __device__ inline constexpr void operator()(bhalf_t& a, bhalf_t b, bool& changed) const
371 __host__ __device__ inline constexpr void operator()(bhalf_t& a, bhalf_t b, bool& changed) const
constexpr T GetIdentityValueForInMemoryDataOperation(InMemoryDataOperationEnum operation)
Definition: reduction_operator.hpp:473
Definition: ck.hpp:267
@ AtomicMax
@ AtomicAdd
__host__ static constexpr __device__ T Lowest()
Definition: numeric_limits.hpp:312
__host__ static constexpr __device__ T Max()
Definition: numeric_limits.hpp:311
Definition: type.hpp:177
Definition: reduction_operator.hpp:409
__host__ constexpr __device__ void operator()(T &a, T b, bool &changed) const
Definition: reduction_operator.hpp:445
__host__ constexpr __device__ void operator()(T &a, T b) const
Definition: reduction_operator.hpp:424
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b) const
Definition: reduction_operator.hpp:435
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b, bool &changed) const
Definition: reduction_operator.hpp:459
__host__ static constexpr __device__ T GetIdentityValue()
Definition: reduction_operator.hpp:411
__host__ static constexpr __device__ bool IsCompatibleInMemoryDataOperation(InMemoryDataOperationEnum operation)
Definition: reduction_operator.hpp:417
Definition: reduction_operator.hpp:37
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b) const
Definition: reduction_operator.hpp:61
__host__ static constexpr __device__ T GetIdentityValue()
Definition: reduction_operator.hpp:39
__host__ constexpr __device__ void operator()(half_t &a, half_t b) const
Definition: reduction_operator.hpp:69
__host__ constexpr __device__ void operator()(T &a, T b) const
Definition: reduction_operator.hpp:52
__host__ constexpr __device__ void operator()(bhalf_t &a, bhalf_t b) const
Definition: reduction_operator.hpp:77
__host__ static constexpr __device__ bool IsCompatibleInMemoryDataOperation(InMemoryDataOperationEnum operation)
Definition: reduction_operator.hpp:45
Definition: reduction_operator.hpp:485
static constexpr bool value
Definition: reduction_operator.hpp:486
Definition: reduction_operator.hpp:163
__host__ constexpr __device__ void operator()(bhalf_t &a, bhalf_t b, bool &changed) const
Definition: reduction_operator.hpp:247
__host__ constexpr __device__ void operator()(half_t &a, half_t b, bool &changed) const
Definition: reduction_operator.hpp:259
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b) const
Definition: reduction_operator.hpp:224
__host__ constexpr __device__ void operator()(T &a, T b, bool &changed) const
Definition: reduction_operator.hpp:234
__host__ constexpr __device__ void operator()(bhalf_t &a, bhalf_t b) const
Definition: reduction_operator.hpp:206
__host__ static constexpr __device__ T GetIdentityValue()
Definition: reduction_operator.hpp:165
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b, bool &changed) const
Definition: reduction_operator.hpp:271
__host__ constexpr __device__ void operator()(half_t &a, half_t b) const
Definition: reduction_operator.hpp:215
__host__ static constexpr __device__ bool IsCompatibleInMemoryDataOperation(InMemoryDataOperationEnum operation)
Definition: reduction_operator.hpp:189
__host__ constexpr __device__ void operator()(T &a, T b) const
Definition: reduction_operator.hpp:196
Definition: reduction_operator.hpp:285
__host__ constexpr __device__ void operator()(half_t &a, half_t b) const
Definition: reduction_operator.hpp:338
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b, bool &changed) const
Definition: reduction_operator.hpp:395
__host__ constexpr __device__ void operator()(bhalf_t &a, bhalf_t b, bool &changed) const
Definition: reduction_operator.hpp:371
__host__ static constexpr __device__ bool IsCompatibleInMemoryDataOperation(InMemoryDataOperationEnum operation)
Definition: reduction_operator.hpp:312
__host__ constexpr __device__ void operator()(half_t &a, half_t b, bool &changed) const
Definition: reduction_operator.hpp:383
__host__ constexpr __device__ void operator()(T &a, T b, bool &changed) const
Definition: reduction_operator.hpp:357
__host__ constexpr __device__ void operator()(bhalf_t &a, bhalf_t b) const
Definition: reduction_operator.hpp:329
__host__ static constexpr __device__ T GetIdentityValue()
Definition: reduction_operator.hpp:287
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b) const
Definition: reduction_operator.hpp:347
__host__ constexpr __device__ void operator()(T &a, T b) const
Definition: reduction_operator.hpp:319
Definition: reduction_operator.hpp:114
__host__ constexpr __device__ void operator()(T &a, T b) const
Definition: reduction_operator.hpp:128
__host__ static constexpr __device__ bool IsCompatibleInMemoryDataOperation(InMemoryDataOperationEnum operation)
Definition: reduction_operator.hpp:122
__host__ constexpr __device__ void operator()(f8_t &a, f8_t b) const
Definition: reduction_operator.hpp:137
__host__ static constexpr __device__ T GetIdentityValue()
Definition: reduction_operator.hpp:116
__host__ constexpr __device__ void operator()(bhalf_t &a, bhalf_t b) const
Definition: reduction_operator.hpp:153
__host__ constexpr __device__ void operator()(half_t &a, half_t b) const
Definition: reduction_operator.hpp:145
Definition: reduction_operator.hpp:87
__host__ static constexpr __device__ bool IsCompatibleInMemoryDataOperation(InMemoryDataOperationEnum operation)
Definition: reduction_operator.hpp:95
__host__ static constexpr __device__ T GetIdentityValue()
Definition: reduction_operator.hpp:89
__host__ constexpr __device__ void operator()(T &a, T b) const
Definition: reduction_operator.hpp:102