convert Class — pytorch Architecture
Architecture documentation for the convert class in vec256_common_vsx.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/cpu/vec/vec256/vsx/vec256_common_vsx.h lines 90–111
template <>
inline void convert(const int32_t* src, float* dst, int64_t n) {
// int32_t and float have same size
int64_t i;
for (i = 0; i <= (n - Vectorized<float>::size());
i += Vectorized<float>::size()) {
const int32_t* src_a = src + i;
float* dst_a = dst + i;
vint32 input_vec0 =
vec_vsx_ld(offset0, reinterpret_cast<const vint32*>(src_a));
vint32 input_vec1 =
vec_vsx_ld(offset16, reinterpret_cast<const vint32*>(src_a));
vfloat32 c0 = vec_float(input_vec0);
vfloat32 c1 = vec_float(input_vec1);
vec_vsx_st(c0, offset0, dst_a);
vec_vsx_st(c1, offset16, dst_a);
}
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