Kompute
Loading...
Searching...
No Matches
Public Member Functions | List of all members
kp::TensorT< T > Class Template Reference
Inheritance diagram for kp::TensorT< T >:
Inheritance graph
[legend]
Collaboration diagram for kp::TensorT< T >:
Collaboration graph
[legend]

Public Member Functions

 TensorT (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, const size_t size, const MemoryTypes &tensorType=MemoryTypes::eDevice)
 
 TensorT (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, const std::vector< T > &data, const Memory::MemoryTypes &tensorType=Memory::MemoryTypes::eDevice)
 
 TensorT (const TensorT &)=delete
 Make TensorT uncopyable.
 
 TensorT (const TensorT &&)=delete
 
TensorToperator= (const TensorT &)=delete
 
TensorToperator= (const TensorT &&)=delete
 
DataTypes dataType ()
 
std::vector< T > vector ()
 
T * data ()
 
- Public Member Functions inherited from kp::Tensor
 Tensor (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, void *data, uint32_t elementTotalCount, uint32_t elementMemorySize, const DataTypes &dataType, const MemoryTypes &tensorType=MemoryTypes::eDevice)
 
 Tensor (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, uint32_t elementTotalCount, uint32_t elementMemorySize, const DataTypes &dataType, const MemoryTypes &memoryType=MemoryTypes::eDevice)
 
 Tensor (const Tensor &)=delete
 Make Tensor uncopyable.
 
 Tensor (const Tensor &&)=delete
 
Tensoroperator= (const Tensor &)=delete
 
Tensoroperator= (const Tensor &&)=delete
 
virtual ~Tensor ()
 
void destroy () override
 
bool isInit () override
 
void recordCopyFrom (const vk::CommandBuffer &commandBuffer, std::shared_ptr< Tensor > copyFromTensor) override
 
void recordCopyFrom (const vk::CommandBuffer &commandBuffer, std::shared_ptr< Image > copyFromImage) override
 
void recordCopyFromStagingToDevice (const vk::CommandBuffer &commandBuffer) override
 
void recordCopyFromDeviceToStaging (const vk::CommandBuffer &commandBuffer) override
 
void recordPrimaryMemoryBarrier (const vk::CommandBuffer &commandBuffer, vk::AccessFlagBits srcAccessMask, vk::AccessFlagBits dstAccessMask, vk::PipelineStageFlagBits srcStageMask, vk::PipelineStageFlagBits dstStageMask) override
 
void recordStagingMemoryBarrier (const vk::CommandBuffer &commandBuffer, vk::AccessFlagBits srcAccessMask, vk::AccessFlagBits dstAccessMask, vk::PipelineStageFlagBits srcStageMask, vk::PipelineStageFlagBits dstStageMask) override
 
vk::WriteDescriptorSet constructDescriptorSet (vk::DescriptorSet descriptorSet, uint32_t binding) override
 
std::shared_ptr< vk::Buffer > getPrimaryBuffer ()
 
Type type () override
 
- Public Member Functions inherited from kp::Memory
 Memory (std::shared_ptr< vk::PhysicalDevice > physicalDevice, std::shared_ptr< vk::Device > device, const DataTypes &dataType, const MemoryTypes &memoryType, uint32_t x, uint32_t y)
 
 Memory (const Memory &)=delete
 Make Memory uncopyable.
 
 Memory (const Memory &&)=delete
 
Memoryoperator= (const Memory &)=delete
 
Memoryoperator= (const Memory &&)=delete
 
virtual ~Memory ()
 
MemoryTypes memoryType ()
 
DataTypes dataType ()
 
void recordCopyFrom (const vk::CommandBuffer &commandBuffer, std::shared_ptr< Memory > copyFromMemory)
 
uint32_t size ()
 
uint32_t dataTypeMemorySize ()
 
uint32_t memorySize ()
 
vk::DescriptorType getDescriptorType ()
 
voidrawData ()
 
void setData (const void *data, size_t size)
 
template<typename T >
void setData (const std::vector< T > &data)
 
template<typename T >
Tdata ()
 
template<typename T >
std::vector< T > vector ()
 
uint32_t getX ()
 
uint32_t getY ()
 

Additional Inherited Members

- Public Types inherited from kp::Memory
enum class  MemoryTypes { eDevice = 0 , eHost = 1 , eStorage = 2 , eDeviceAndHost }
 
enum class  DataTypes {
  eBool = 0 , eInt = 1 , eUnsignedInt = 2 , eFloat = 3 ,
  eDouble = 4 , eCustom = 5 , eShort = 6 , eUnsignedShort = 7 ,
  eChar = 8 , eUnsignedChar = 9
}
 
enum class  Type { eTensor = 0 , eImage = 1 }
 
- Static Public Member Functions inherited from kp::Memory
static std::string toString (MemoryTypes dt)
 
static std::string toString (DataTypes dt)
 
template<typename T >
static constexpr DataTypes dataType ()
 
static uint32_t dataTypeMemorySize (DataTypes dataType)
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
template<>
constexpr Memory::DataTypes dataType ()
 
- Protected Member Functions inherited from kp::Memory
void mapRawData ()
 
void unmapRawData ()
 
void updateRawData (void *data)
 
vk::MemoryPropertyFlags getPrimaryMemoryPropertyFlags ()
 
vk::MemoryPropertyFlags getStagingMemoryPropertyFlags ()
 
- Protected Attributes inherited from kp::Tensor
vk::DescriptorBufferInfo mDescriptorBufferInfo
 
- Protected Attributes inherited from kp::Memory
MemoryTypes mMemoryType
 
DataTypes mDataType
 
uint32_t mSize
 
uint32_t mDataTypeMemorySize
 
voidmRawData = nullptr
 
vk::DescriptorType mDescriptorType
 
bool mUnmapMemory = false
 
uint32_t mX
 
uint32_t mY
 
std::shared_ptr< vk::PhysicalDevice > mPhysicalDevice
 
std::shared_ptr< vk::Device > mDevice
 
std::shared_ptr< vk::DeviceMemory > mPrimaryMemory
 
bool mFreePrimaryMemory = false
 
std::shared_ptr< vk::DeviceMemory > mStagingMemory
 
bool mFreeStagingMemory = false
 

The documentation for this class was generated from the following file: