is_reduced_floating_point_v Class — pytorch Architecture
Architecture documentation for the is_reduced_floating_point_v class in Elu.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/cpu/Elu.h lines 39–53
template <typename T, std::enable_if_t<!c10::is_reduced_floating_point_v<T>, bool> = true>
auto get_vectorized_elu_elementwise_func(T alpha, T scale, T input_scale) {
const vec::Vectorized<T> negcoef_vec(alpha * scale);
const vec::Vectorized<T> poscoef_vec(scale);
const vec::Vectorized<T> negiptcoef_vec(input_scale);
const vec::Vectorized<T> zero_vec(static_cast<T>(0));
return [negcoef_vec, poscoef_vec, negiptcoef_vec, zero_vec](vec::Vectorized<T> a) -> vec::Vectorized<T> {
const auto cmp = a >= zero_vec;
if (!cmp.zero_mask()) {
return a * poscoef_vec;
} else {
return vec::Vectorized<T>::blendv((a * negiptcoef_vec).expm1() * negcoef_vec, a * poscoef_vec, cmp);
}
};
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free