LogSoftMax Class — pytorch Architecture
Architecture documentation for the LogSoftMax class in SoftMaxKernel.cpp from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/cpu/SoftMaxKernel.cpp lines 614–631
template <typename scalar_t, bool LogSoftMax>
struct vec_host_softmax_lastdim {
static void apply(const Tensor& output, const Tensor& input) {
int64_t outer_size = 1;
int64_t dim_size = input.size(input.ndimension() - 1);
for (int64_t i = 0; i < input.ndimension() - 1; ++i)
outer_size *= input.size(i);
const scalar_t* input_data_base = input.const_data_ptr<scalar_t>();
scalar_t* output_data_base = output.data_ptr<scalar_t>();
if (LogSoftMax) {
_vec_log_softmax_lastdim(
input_data_base, output_data_base, outer_size, dim_size);
} else {
_vec_softmax_lastdim(
input_data_base, output_data_base, outer_size, dim_size);
}
}
};
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free