mirror of
https://github.com/ROCm/composable_kernel.git
synced 2026-05-20 04:49:54 +00:00
This reverts commit 723b7ce0be2884da131036301892bf9157f51876.
Co-authored-by: Illia Silin <98187287+illsilin@users.noreply.github.com>
[ROCm/composable_kernel commit: 67f0b74ec6]
This commit is contained in:
@@ -37,6 +37,13 @@ struct scales
|
||||
return lhs_ * rhs;
|
||||
}
|
||||
|
||||
template <typename OtherScale>
|
||||
CK_TILE_HOST_DEVICE constexpr auto operator*(OtherScale other) const
|
||||
{
|
||||
auto new_scale = lhs_ * other;
|
||||
return scales<std::decay_t<decltype(new_scale)>>(new_scale);
|
||||
}
|
||||
|
||||
private:
|
||||
Scale lhs_;
|
||||
};
|
||||
|
||||
@@ -119,6 +119,18 @@ struct identity
|
||||
}
|
||||
};
|
||||
|
||||
// Similar to identity, but takes an additional index parameter as the first argument.
|
||||
// The index is ignored and only the second argument (value) is forwarded.
|
||||
// Useful for indexed element-wise operations where the functor signature requires an index.
|
||||
struct idx_identity
|
||||
{
|
||||
template <typename I, typename T>
|
||||
CK_TILE_HOST_DEVICE constexpr T&& operator()(I&& /*idx*/, T&& arg) const noexcept
|
||||
{
|
||||
return std::forward<T>(arg);
|
||||
}
|
||||
};
|
||||
|
||||
namespace detail {
|
||||
|
||||
// RemainLengths: sequence<...>
|
||||
|
||||
Reference in New Issue
Block a user