is_standard_layout_v Class — pytorch Architecture
Architecture documentation for the is_standard_layout_v class in ParamsHash.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/utils/ParamsHash.h lines 14–29
template <typename Params>
struct ParamsHash {
// Params must be a POD because we read out its memory
// contents as char* when hashing
static_assert(std::is_standard_layout_v<Params>, "Params is not POD");
size_t operator()(const Params& params) const noexcept {
auto ptr = reinterpret_cast<const uint8_t*>(¶ms);
uint32_t value = 0x811C9DC5;
for (const auto i : c10::irange(sizeof(Params))) {
value ^= ptr[i];
value *= 0x01000193;
}
return (size_t)value;
}
};
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free