#pragma once #include "kompute/Core.hpp" #include "kompute/Tensor.hpp" #include "kompute/OpBase.hpp" namespace kp { class OpCreateTensor : public OpBase { public: OpCreateTensor(); OpCreateTensor(std::shared_ptr physicalDevice, std::shared_ptr device, std::shared_ptr commandBuffer, std::vector>& tensors, bool freeTensors = true); ~OpCreateTensor(); void init() override; void record() override; void postSubmit() override; private: // Never owned resources std::shared_ptr mPrimaryTensor; std::shared_ptr mStagingTensor; }; } // End namespace kp