is_same_v Class — pytorch Architecture
Architecture documentation for the is_same_v class in vec256_qint.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/cpu/vec/vec256/vec256_qint.h lines 107–123
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 8*8 bits
__m128i input_128 = _mm256_castsi256_si128(src);
// Convert from 8*uint8/int8 to 8*int32
__m256i input_256_int32;
if constexpr (std::is_same_v<T, uint8_t>)
input_256_int32 = _mm256_cvtepu8_epi32(input_128);
else
input_256_int32 = _mm256_cvtepi8_epi32(input_128);
// Convert from 8*int32 to 8*float
return _mm256_cvtepi32_ps(input_256_int32);
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free