scale Class — pytorch Architecture
Architecture documentation for the scale class in vec_base.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/cpu/vec/vec_base.h lines 1293–1306
template <int64_t scale = 1, typename T = void>
std::enable_if_t<
scale == 1 || scale == 2 || scale == 4 || scale == 8,
Vectorized<
T>> inline gather(T const* base_addr, const Vectorized<int_same_size_t<T>>& vindex) {
static constexpr int size = Vectorized<T>::size();
int_same_size_t<T> index_arr[size];
vindex.store(static_cast<void*>(index_arr));
T buffer[size];
for (const auto i : c10::irange(size)) {
buffer[i] = base_addr[index_arr[i] * scale / sizeof(T)];
}
return Vectorized<T>::loadu(static_cast<void*>(buffer));
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free