maximum Class — pytorch Architecture
Architecture documentation for the maximum class in vec256_complex_float_vsx.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/cpu/vec/vec256/vsx/vec256_complex_float_vsx.h lines 629–644
template <>
Vectorized<ComplexFlt> inline maximum(
const Vectorized<ComplexFlt>& a,
const Vectorized<ComplexFlt>& b) {
auto abs_a = a.abs_2_();
auto abs_b = b.abs_2_();
// auto mask = _mm256_cmp_ps(abs_a, abs_b, _CMP_LT_OQ);
// auto max = _mm256_blendv_ps(a, b, mask);
auto mask = abs_a.elwise_lt(abs_b);
auto max = Vectorized<ComplexFlt>::elwise_blendv(a, b, mask);
return max;
// Exploit the fact that all-ones is a NaN.
// auto isnan = _mm256_cmp_ps(abs_a, abs_b, _CMP_UNORD_Q);
// return _mm256_or_ps(max, isnan);
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free