convert Class — pytorch Architecture
Architecture documentation for the convert class in vec512_int.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/cpu/vec/vec512/vec512_int.h lines 403–423
template <>
inline void convert(const int32_t* src, float* dst, int64_t n) {
int64_t i;
// int32_t and float have same size
#ifndef _MSC_VER
#pragma unroll
#endif
for (i = 0; i <= (n - Vectorized<int32_t>::size());
i += Vectorized<int32_t>::size()) {
auto input_vec =
_mm512_loadu_si512(reinterpret_cast<const __m512i*>(src + i));
auto output_vec = _mm512_cvtepi32_ps(input_vec);
_mm512_storeu_ps(reinterpret_cast<float*>(dst + i), output_vec);
}
#ifndef _MSC_VER
#pragma unroll
#endif
for (; i < n; i++) {
dst[i] = static_cast<float>(src[i]);
}
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free