Conv2dPackedContext Class — pytorch Architecture
Architecture documentation for the Conv2dPackedContext class in Convolution.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/vulkan/ops/Convolution.h lines 54–126
class Conv2dPackedContext final : virtual public VulkanPackedContext,
public torch::jit::CustomClassHolder {
private:
c10::impl::GenericList unpacked_;
api::ShaderInfo compute_shader_{};
public:
Conv2dPackedContext(
const Tensor& weight,
const std::optional<Tensor>& bias,
const IntArrayRef stride_arg,
const IntArrayRef padding_arg,
const IntArrayRef dilation_arg,
const bool transposed,
const bool quantized,
const IntArrayRef output_padding_arg,
const int64_t groups,
const std::optional<Scalar>& output_min = std::nullopt,
const std::optional<Scalar>& output_max = std::nullopt);
/*
* Assigns a name to each index in the unpacked list.
*/
struct Unpacked final {
static constexpr uint32_t Weight = 0u;
static constexpr uint32_t Bias = 1u;
static constexpr uint32_t Stride = 2u;
static constexpr uint32_t Padding = 3u;
static constexpr uint32_t Dilation = 4u;
static constexpr uint32_t isTransposed = 5u;
static constexpr uint32_t isQuantized = 6u;
static constexpr uint32_t OutputPadding = 7u;
static constexpr uint32_t Groups = 8u;
static constexpr uint32_t OutputMin = 9u;
static constexpr uint32_t OutputMax = 10u;
static constexpr uint32_t NumArgs = 11u;
};
/*
* Assigns a name to each index in the packed list.
*/
struct Packed final {
static constexpr uint32_t Weight = 0u;
static constexpr uint32_t Bias = 1u;
static constexpr uint32_t OverlayRegion = 2u;
static constexpr uint32_t Stride = 3u;
static constexpr uint32_t Padding = 4u;
static constexpr uint32_t OutputPadding = 5u;
static constexpr uint32_t Dilation = 6u;
static constexpr uint32_t isTransposed = 7u;
static constexpr uint32_t isQuantized = 8u;
static constexpr uint32_t Groups = 9u;
static constexpr uint32_t OutputMin = 10u;
static constexpr uint32_t OutputMax = 11u;
static constexpr uint32_t ConvMethod = 12u;
static constexpr uint32_t WeightSizes = 13u;
static constexpr uint32_t NumArgs = 14u;
};
static Conv2dPackedContext pack(c10::impl::GenericList);
const c10::impl::GenericList unpack() const override {
TORCH_CHECK(!unpacked_.empty(), "unpacked_ does not have any elements!");
return unpacked_;
}
inline api::ShaderInfo& compute_shader() {
return compute_shader_;
}
};
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free