StorageBuffer Class — pytorch Architecture
Architecture documentation for the StorageBuffer class in Context.h from the pytorch codebase.
Entity Profile
Source Code
aten/src/ATen/native/vulkan/api/Context.h lines 253–300
class StorageBuffer final {
private:
Context* context_p_;
ScalarType dtype_;
size_t numel_;
size_t nbytes_;
VulkanBuffer vulkan_buffer_;
public:
StorageBuffer(
Context* context_p,
const ScalarType dtype,
const size_t numel,
const bool gpuonly = false)
: context_p_(context_p),
dtype_(dtype),
numel_(numel),
nbytes_(element_size(dtype_) * numel_),
vulkan_buffer_(context_p_->adapter_ptr()->vma().create_storage_buffer(
nbytes_,
gpuonly)) {}
StorageBuffer(const StorageBuffer&) = delete;
StorageBuffer& operator=(const StorageBuffer&) = delete;
StorageBuffer(StorageBuffer&&) = default;
StorageBuffer& operator=(StorageBuffer&&) = default;
~StorageBuffer() {
context_p_->register_buffer_cleanup(vulkan_buffer_);
}
inline ScalarType dtype() {
return dtype_;
}
inline VulkanBuffer& buffer() {
return vulkan_buffer_;
}
inline size_t numel() {
return numel_;
}
inline size_t nbytes() {
return nbytes_;
}
};
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free