ComputePipeline Class — pytorch Architecture
Architecture documentation for the ComputePipeline class in Pipeline.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/vulkan/api/Pipeline.h lines 77–111
class ComputePipeline final {
public:
struct Descriptor final {
VkPipelineLayout pipeline_layout;
VkShaderModule shader_module;
utils::uvec3 local_work_group;
};
explicit ComputePipeline(
VkDevice device,
const Descriptor& descriptor,
VkPipelineCache pipeline_cache);
ComputePipeline(const ComputePipeline&) = delete;
ComputePipeline& operator=(const ComputePipeline&) = delete;
ComputePipeline(ComputePipeline&&) noexcept;
ComputePipeline& operator=(ComputePipeline&&) = delete;
~ComputePipeline();
private:
VkDevice device_;
VkPipeline handle_;
public:
inline VkPipeline handle() const {
return handle_;
}
// We need to define a custom swap function since this class
// does not allow for move assignment. The swap function will
// be used in the hash map.
friend void swap(ComputePipeline& lhs, ComputePipeline& rhs) noexcept;
};
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free