is_same_v Class — pytorch Architecture
Architecture documentation for the is_same_v class in vec512_qint.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/cpu/vec/vec512/vec512_qint.h lines 109–125
template <typename T>
typename std::enable_if_t<
std::is_same_v<T, uint8_t> || std::is_same_v<T, int8_t>,
at::vec::Vectorized<
float>> inline convert_int8_to_float(at::vec::Vectorized<T> src) {
// Note: this function only convert inputs number of elements equal to
// at::vec::Vectorized<float>.size() Only handle first 16*8 bits
__m128i input_128 = _mm512_castsi512_si128(src);
// Convert from 16*uint8/int8 to 16*int32
__m512i input_512_extended;
if constexpr (std::is_same_v<T, uint8_t>)
input_512_extended = _mm512_cvtepu8_epi32(input_128);
else
input_512_extended = _mm512_cvtepi8_epi32(input_128);
// Convert from 16*int32 to 16*float32
return _mm512_cvtepi32_ps(input_512_extended);
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free