data_n Class — pytorch Architecture
Architecture documentation for the data_n class in vec_mask.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/cpu/vec/vec_mask.h lines 31–53
template <
typename data_t,
int data_n,
typename mask_t,
int mask_n,
typename Enabled = void>
struct VecMaskLoad {
static inline VectorizedN<data_t, data_n> apply(
const data_t* ptr,
const VecMask<mask_t, mask_n>& vec_mask) {
constexpr typename VecMask<mask_t, mask_n>::size_type size =
VecMask<mask_t, mask_n>::size();
static_assert(VectorizedN<data_t, data_n>::size() >= size);
__at_align__ data_t data[size];
__at_align__ mask_t mask[size];
auto mask_ = VectorizedN<mask_t, mask_n>(vec_mask);
mask_.store(mask);
for (int i = 0; i < size; i++) {
data[i] = mask[i] ? ptr[i] : static_cast<data_t>(0);
}
return VectorizedN<data_t, data_n>::loadu(data, size);
}
};
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free