2020-11-05 16:41:56 +08:00
|
|
|
//
|
|
|
|
// Command.hpp
|
|
|
|
// MNN
|
|
|
|
//
|
|
|
|
// Created by MNN on b'2020/07/28'.
|
|
|
|
// Copyright © 2018, Alibaba Group Holding Limited
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef Command_hpp
|
|
|
|
#define Command_hpp
|
|
|
|
#include <MNN/Tensor.hpp>
|
2021-11-30 10:10:53 +08:00
|
|
|
#include "AutoStorage.h"
|
2021-02-07 10:45:07 +08:00
|
|
|
#include <string>
|
2020-11-05 16:41:56 +08:00
|
|
|
#include <memory>
|
|
|
|
namespace MNN {
|
|
|
|
struct Op;
|
2021-11-30 10:10:53 +08:00
|
|
|
class Execution;
|
|
|
|
class OperatorInfo;
|
|
|
|
struct Command : public RefCount {
|
2020-11-05 16:41:56 +08:00
|
|
|
const Op* op;
|
2022-12-30 15:18:58 +08:00
|
|
|
std::vector<Tensor*> workInputs;
|
2020-11-05 16:41:56 +08:00
|
|
|
std::vector<Tensor*> inputs;
|
|
|
|
std::vector<Tensor*> outputs;
|
2021-11-30 10:10:53 +08:00
|
|
|
std::shared_ptr<BufferStorage> buffer;
|
|
|
|
std::shared_ptr<Execution> execution;
|
|
|
|
std::shared_ptr<OperatorInfo> info;
|
2020-11-05 16:41:56 +08:00
|
|
|
};
|
|
|
|
struct CommandBuffer {
|
2021-11-30 10:10:53 +08:00
|
|
|
std::vector<SharedPtr<Command>> command;
|
2020-11-05 16:41:56 +08:00
|
|
|
std::vector<std::shared_ptr<Tensor>> extras;
|
2022-12-30 15:18:58 +08:00
|
|
|
bool hasWrap = false;
|
2020-11-05 16:41:56 +08:00
|
|
|
};
|
|
|
|
}; // namespace MNN
|
|
|
|
#endif
|