Home / Class/ convert Class — pytorch Architecture

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]);
  }
}

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free