argmax_argmin_impl Class — pytorch Architecture
Architecture documentation for the argmax_argmin_impl class in ReduceOps.cpp from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/ReduceOps.cpp lines 1753–1786
template <class Stub>
static void argmax_argmin_impl(
const Tensor& self,
std::optional<int64_t> dim,
bool keepdim,
const Tensor& result,
Stub& stub) {
c10::MaybeOwned<Tensor> in;
DimVector dims;
int64_t _dim = 0;
if (dim.has_value()) {
_dim = maybe_wrap_dim(dim.value(), self.dim());
auto sizes = self.sizes();
if (sizes[_dim] == 1) {
result.fill_(0);
return;
}
dims = IntArrayRef(_dim);
in = c10::MaybeOwned<Tensor>::borrowed(self);
} else {
in = c10::MaybeOwned<Tensor>::owned(self.reshape({-1}));
keepdim = false;
}
auto iter =
meta::make_reduction(*in, result, dims, keepdim, self.scalar_type());
if (iter.numel() != 0) {
stub(iter.device_type(), iter);
}
}
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free