From 212672d5459fa1c6ce94738e7d38b9e7a73bc918 Mon Sep 17 00:00:00 2001 From: chenjianping Date: Tue, 10 Aug 2021 15:08:17 +0800 Subject: [PATCH] append note for interfaces --- include/api/context.h | 21 ++++++++++++-- include/api/kernel.h | 64 +++++++++++++++++++++++++++++++++++-------- 2 files changed, 70 insertions(+), 15 deletions(-) diff --git a/include/api/context.h b/include/api/context.h index d1b525ef713..1184584633f 100644 --- a/include/api/context.h +++ b/include/api/context.h @@ -105,14 +105,29 @@ class MS_API DeviceInfoContext : public std::enable_shared_from_this(shared_from_this()); } - + /// \brief obtain provider's name + /// + /// \return provider's name. std::string GetProvider() const; + /// \brief set provider's name. + /// + /// \param[in] provider define the provider's name. void SetProvider(const std::string &provider); - + /// \brief obtain provider's device type. + /// + /// \return provider's device type. std::string GetProviderDevice() const; + /// \brief set provider's device type. + /// + /// \param[in] device define the provider's device type.EG: CPU. void SetProviderDevice(const std::string &device); - + /// \brief set memory allocator. + /// + /// \param[in] allocator define the memory allocator which can be defined by user. void SetAllocator(const std::shared_ptr &allocator); + /// \brief obtain memory allocator. + /// + /// \return memory allocator. std::shared_ptr GetAllocator() const; protected: diff --git a/include/api/kernel.h b/include/api/kernel.h index 1e1a6dfb040..6ec62dec020 100644 --- a/include/api/kernel.h +++ b/include/api/kernel.h @@ -24,9 +24,16 @@ #include "include/api/context.h" namespace mindspore::kernel { +/// \brief The Kernel class is used to define a MindSpore Kernel. class Kernel { public: Kernel() = default; + /// \brief Constructor. + /// + /// \param[in] inputs define the input tensors for kernel. + /// \param[in] outputs define the output tensors for kernel. + /// \param[in] primitive define the primitive of kernel generated by flatbuffers. + /// \param[in] ctx define the context for kernel. Kernel(const std::vector &inputs, const std::vector &outputs, const schema::Primitive *primitive, const mindspore::Context *ctx) : context_(ctx), inputs_(std::move(inputs)), outputs_(std::move(outputs)), primitive_(primitive) { @@ -34,32 +41,65 @@ class Kernel { type_ = primitive->value_type(); } } + /// \brief Destructor. virtual ~Kernel() = default; - + /// \brief prepare for executing kernel. + /// + /// \return result code. virtual int Prepare() = 0; - + /// \brief execute the kernel. + /// + /// \return result code. virtual int Execute() = 0; - + /// \brief resize the kernel input shape, memory need to refresh. + /// + /// \return result code. virtual int ReSize() = 0; - + /// \brief set kernel's input tensors. + /// + /// \param[in] in_tensors define the input tensors. virtual void set_inputs(const std::vector &in_tensors) { this->inputs_ = in_tensors; } - + /// \brief set kernel's input tensor. + /// + /// \param[in] in_tensor define the input tensor. + /// \param[in] index define the index of the input tensor. virtual void set_input(mindspore::MSTensor in_tensor, int index) { this->inputs_[index] = in_tensor; } - + /// \brief set kernel's output tensors. + /// + /// \param[in] out_tensors define the output tensors. virtual void set_outputs(const std::vector &out_tensors) { this->outputs_ = out_tensors; } - + /// \brief set kernel's output tensor. + /// + /// \param[in] out_tensor define the output tensor. + /// \param[in] index define the index of the output tensor. virtual void set_output(mindspore::MSTensor out_tensor, int index) { this->outputs_[index] = out_tensor; } - + /// \brief obtain kernel's input tensors. + /// + /// \return input tensors. virtual const std::vector &inputs() { return this->inputs_; } - + /// \brief obtain kernel's output tensors. + /// + /// \return output tensors. virtual const std::vector &outputs() { return this->outputs_; } - + /// \brief obtain kernel's name. + /// + /// \return kernel's name. std::string name() const { return this->name_; } - + /// \brief set kernel's name. + /// + /// \param[in] name define the kernel's name. void set_name(const std::string &name) { this->name_ = name; } - + /// \brief obtain kernel's context. + /// + /// \return kernel's context. const mindspore::Context *context() const { return this->context_; } + /// \brief obtain kernel's type. + /// + /// \return kernel's type. virtual schema::PrimitiveType type() const { return type_; } + /// \brief obtain the primitive of kernel generated by flatbuffers. + /// + /// \return the primitive of kernel generated by flatbuffers. const schema::Primitive *primitive() const { return this->primitive_; } protected: