diff options
author | Gunes Bayir <gunes.bayir@arm.com> | 2023-07-12 14:50:56 +0100 |
---|---|---|
committer | Gunes Bayir <gunes.bayir@arm.com> | 2023-07-12 15:23:55 +0000 |
commit | 3c776066a0195f2e99d3503f8b058e468d53b884 (patch) | |
tree | f91268d28eed0a3446330385185898f6d6aa17f6 /compute_kernel_writer/include | |
parent | 945b8da90cea5ccacc0294e58131f73f39137367 (diff) | |
download | ComputeLibrary-3c776066a0195f2e99d3503f8b058e468d53b884.tar.gz |
Rename ITileOperand and introduce vector/scalar interfaces in CKW
Partially Resolves: COMPMID-5788
This patch
- renames ITileOperand to TileOperand, which seems to be a more intuitive name for the prospective users of Compute Kernel Writer
- provides IScalarAccess and IVectorAccess interfaces to be used by Tile classes. It replaces the current IScalarTile and IVectorTile, and forms a more intuitive inheritance hierarchy where each subclass "is a" member of the parent class semantically.
Signed-off-by: Gunes Bayir <gunes.bayir@arm.com>
Change-Id: I2b5253b0595e63f8ff3047c608d593b3b364634d
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9910
Reviewed-by: Jakub Sujak <jakub.sujak@arm.com>
Reviewed-by: Viet-Hoa Do <viet-hoa.do@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Benchmark: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'compute_kernel_writer/include')
-rw-r--r-- | compute_kernel_writer/include/ckw/Kernel.h | 4 | ||||
-rw-r--r-- | compute_kernel_writer/include/ckw/KernelWriter.h | 10 | ||||
-rw-r--r-- | compute_kernel_writer/include/ckw/TileOperand.h (renamed from compute_kernel_writer/include/ckw/ITileOperand.h) | 8 |
3 files changed, 11 insertions, 11 deletions
diff --git a/compute_kernel_writer/include/ckw/Kernel.h b/compute_kernel_writer/include/ckw/Kernel.h index 54e7ca33fd..d93ed6f1d3 100644 --- a/compute_kernel_writer/include/ckw/Kernel.h +++ b/compute_kernel_writer/include/ckw/Kernel.h @@ -32,7 +32,7 @@ namespace ckw // Forward Declerations class TileInfo; -class ITileOperand; +class TileOperand; enum class TargetLanguage; @@ -59,7 +59,7 @@ public: const std::string &source_code() const; /** Add a tile operand */ - virtual ITileOperand &add_operand(const std::string &name, const TileInfo &tile_info) = 0; + virtual TileOperand &add_operand(const std::string &name, const TileInfo &tile_info) = 0; private: TargetLanguage _language; diff --git a/compute_kernel_writer/include/ckw/KernelWriter.h b/compute_kernel_writer/include/ckw/KernelWriter.h index f1635c6449..85ae47f686 100644 --- a/compute_kernel_writer/include/ckw/KernelWriter.h +++ b/compute_kernel_writer/include/ckw/KernelWriter.h @@ -25,7 +25,7 @@ #ifndef CKW_INCLUDE_CKW_KERNELWRITER_H #define CKW_INCLUDE_CKW_KERNELWRITER_H -#include "ckw/ITileOperand.h" +#include "ckw/TileOperand.h" #include <memory> #include <set> @@ -103,23 +103,23 @@ public: * * @returns The created tile operand */ - virtual ITileOperand &declare_tile(const std::string &name, const TileInfo &tile_info) = 0; + virtual TileOperand &declare_tile(const std::string &name, const TileInfo &tile_info) = 0; protected: int32_t id_space() const; /** Pure virtual function to be overridden by language specific subclasses to add a tile operand to the kernel */ - virtual ITileOperand &add_operand(const std::string &name, const TileInfo &tile_info) = 0; + virtual TileOperand &add_operand(const std::string &name, const TileInfo &tile_info) = 0; /** Add a tile operand to the operand list */ - ITileOperand &add_operand(std::unique_ptr<ITileOperand> &operand_ptr); + TileOperand &add_operand(std::unique_ptr<TileOperand> &operand_ptr); /** Generate full variable name by prefixing it with id space */ std::string generate_full_name(const std::string &name) const; private: int32_t _id_space{ 0 }; - std::set<std::unique_ptr<ITileOperand>> _operands {}; + std::set<std::unique_ptr<TileOperand>> _operands {}; }; } // namespace ckw diff --git a/compute_kernel_writer/include/ckw/ITileOperand.h b/compute_kernel_writer/include/ckw/TileOperand.h index db39ea0262..abd3e0ac97 100644 --- a/compute_kernel_writer/include/ckw/ITileOperand.h +++ b/compute_kernel_writer/include/ckw/TileOperand.h @@ -22,18 +22,18 @@ * SOFTWARE. */ -#ifndef COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEOPERAND -#define COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEOPERAND +#ifndef CKW_INCLUDE_CKW_TILEOPERAND +#define CKW_INCLUDE_CKW_TILEOPERAND namespace ckw { /** Tile operand which can be either scalar, vector or 2D tile. */ -class ITileOperand +class TileOperand { public: /* Destructor */ - virtual ~ITileOperand(); + virtual ~TileOperand(); }; } // namespace ckw |