llama-cpp-turboquant/src/include/kompute/OpCreateTensor.hpp
2020-08-28 15:19:39 +01:00

36 lines
767 B
C++

#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<vk::PhysicalDevice> physicalDevice,
std::shared_ptr<vk::Device> device,
std::shared_ptr<vk::CommandBuffer> commandBuffer,
std::vector<std::shared_ptr<Tensor>>& tensors,
bool freeTensors = true);
~OpCreateTensor();
void init() override;
void record() override;
void postSubmit() override;
private:
// Never owned resources
std::shared_ptr<Tensor> mPrimaryTensor;
std::shared_ptr<Tensor> mStagingTensor;
};
} // End namespace kp