diff options
-rw-r--r-- | compute_kernel_writer/CMakeLists.txt | 1 | ||||
-rw-r--r-- | compute_kernel_writer/include/ckw/ITileOperand.h | 41 | ||||
-rw-r--r-- | compute_kernel_writer/include/ckw/TileInfo.h | 6 | ||||
-rw-r--r-- | compute_kernel_writer/src/ITile.h | 6 | ||||
-rw-r--r-- | compute_kernel_writer/src/ITileOperand.cpp | 30 | ||||
-rw-r--r-- | compute_kernel_writer/src/cl/CLTile.h | 3 |
6 files changed, 80 insertions, 7 deletions
diff --git a/compute_kernel_writer/CMakeLists.txt b/compute_kernel_writer/CMakeLists.txt index 186ab328f5..f739824402 100644 --- a/compute_kernel_writer/CMakeLists.txt +++ b/compute_kernel_writer/CMakeLists.txt @@ -121,6 +121,7 @@ target_sources(ckw PRIVATE src/TensorInfo.cpp src/TensorUtils.cpp src/TileInfo.cpp + src/ITileOperand.cpp ) if(CKW_ENABLE_OPENCL) diff --git a/compute_kernel_writer/include/ckw/ITileOperand.h b/compute_kernel_writer/include/ckw/ITileOperand.h new file mode 100644 index 0000000000..db39ea0262 --- /dev/null +++ b/compute_kernel_writer/include/ckw/ITileOperand.h @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2023 Arm Limited. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#ifndef COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEOPERAND +#define COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEOPERAND + +namespace ckw +{ + +/** Tile operand which can be either scalar, vector or 2D tile. */ +class ITileOperand +{ +public: + /* Destructor */ + virtual ~ITileOperand(); +}; + +} // namespace ckw + +#endif /* COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEOPERAND */ diff --git a/compute_kernel_writer/include/ckw/TileInfo.h b/compute_kernel_writer/include/ckw/TileInfo.h index 06c910c9fd..86a4b441b7 100644 --- a/compute_kernel_writer/include/ckw/TileInfo.h +++ b/compute_kernel_writer/include/ckw/TileInfo.h @@ -22,8 +22,8 @@ * SOFTWARE. */ -#ifndef COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEINFO_H -#define COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEINFO_H +#ifndef COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEINFO +#define COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEINFO #include "ckw/Types.h" @@ -81,4 +81,4 @@ private: } // namespace ckw -#endif /* COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEINFO_H */ +#endif /* COMPUTE_KERNEL_WRITER_INCLUDE_CKW_TILEINFO */ diff --git a/compute_kernel_writer/src/ITile.h b/compute_kernel_writer/src/ITile.h index 15f4a3e623..ef0df2116a 100644 --- a/compute_kernel_writer/src/ITile.h +++ b/compute_kernel_writer/src/ITile.h @@ -21,8 +21,8 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ -#ifndef COMPUTE_KERNEL_WRITER_SRC_ITILE_H -#define COMPUTE_KERNEL_WRITER_SRC_ITILE_H +#ifndef COMPUTE_KERNEL_WRITER_SRC_ITILE +#define COMPUTE_KERNEL_WRITER_SRC_ITILE #include "ckw/TileInfo.h" @@ -134,4 +134,4 @@ public: }; } // namespace ckw -#endif /* COMPUTE_KERNEL_WRITER_SRC_ITILE_H */ +#endif /* COMPUTE_KERNEL_WRITER_SRC_ITILE */ diff --git a/compute_kernel_writer/src/ITileOperand.cpp b/compute_kernel_writer/src/ITileOperand.cpp new file mode 100644 index 0000000000..2da7b7a5bf --- /dev/null +++ b/compute_kernel_writer/src/ITileOperand.cpp @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2023 Arm Limited. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "ckw/ITileOperand.h" + +namespace ckw +{ + ITileOperand::~ITileOperand() = default; +}
\ No newline at end of file diff --git a/compute_kernel_writer/src/cl/CLTile.h b/compute_kernel_writer/src/cl/CLTile.h index 83d49b7030..285f0b6e58 100644 --- a/compute_kernel_writer/src/cl/CLTile.h +++ b/compute_kernel_writer/src/cl/CLTile.h @@ -26,6 +26,7 @@ #include "src/ITile.h" #include "src/cl/ICLTile.h" +#include "ckw/ITileOperand.h" #include <string> @@ -35,7 +36,7 @@ namespace ckw class TileInfo; /** OpenCL specific tile */ -class CLTile : public ICLTile +class CLTile : public ICLTile, public ITileOperand { public: /** Constructor |