aboutsummaryrefslogtreecommitdiff
path: root/compute_kernel_writer/include/ckw/Kernel.h
diff options
context:
space:
mode:
authorGunes Bayir <gunes.bayir@arm.com>2023-07-11 14:57:36 +0100
committerGunes Bayir <gunes.bayir@arm.com>2023-07-12 10:09:19 +0000
commitab0b75054ca3ddd62cff34518f331aa8474daa5a (patch)
treebf23ec6a1baee5b7359af1b91fb4b3a462760e2f /compute_kernel_writer/include/ckw/Kernel.h
parent653b96c9a72b2b6d4d82d6ee67b51be66351c617 (diff)
downloadComputeLibrary-ab0b75054ca3ddd62cff34518f331aa8474daa5a.tar.gz
Add tile declaration capability in KernelWriter
Resolves: COMPMID-5816 Signed-off-by: Gunes Bayir <gunes.bayir@arm.com> Change-Id: Ibd885707a842550a058252f9d01e072129896055 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9901 Tested-by: Arm Jenkins <bsgcomp@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>
Diffstat (limited to 'compute_kernel_writer/include/ckw/Kernel.h')
-rw-r--r--compute_kernel_writer/include/ckw/Kernel.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/compute_kernel_writer/include/ckw/Kernel.h b/compute_kernel_writer/include/ckw/Kernel.h
index 0cab713c48..54e7ca33fd 100644
--- a/compute_kernel_writer/include/ckw/Kernel.h
+++ b/compute_kernel_writer/include/ckw/Kernel.h
@@ -25,12 +25,17 @@
#ifndef CKW_INCLUDE_CKW_KERNEL_H
#define CKW_INCLUDE_CKW_KERNEL_H
-#include "ckw/types/TargetLanguage.h"
#include <string>
namespace ckw
{
+// Forward Declerations
+class TileInfo;
+class ITileOperand;
+
+enum class TargetLanguage;
+
/** The kernel that has been emitted by the kernel writer.
*
* It contains all the necessary information to compile and execute the kernel.
@@ -38,6 +43,8 @@ namespace ckw
class Kernel
{
public:
+ virtual ~Kernel();
+
/** Initialize a new instance of @ref Kernel class with all emitted kernel information.
*
* @param[in] language The target language of the kernel.
@@ -51,6 +58,9 @@ public:
/** Get the source code. */
const std::string &source_code() const;
+ /** Add a tile operand */
+ virtual ITileOperand &add_operand(const std::string &name, const TileInfo &tile_info) = 0;
+
private:
TargetLanguage _language;
std::string _source_code;