aboutsummaryrefslogtreecommitdiff
path: root/compute_kernel_writer/src/cl/CLHelpers.cpp
diff options
context:
space:
mode:
authorGian Marco Iodice <gianmarco.iodice@arm.com>2023-07-07 11:25:57 +0100
committerViet-Hoa Do <viet-hoa.do@arm.com>2023-07-20 08:48:15 +0000
commitebfdb5a1ea73c2269eec5af492970c2174ab7d0f (patch)
tree5c60d083100118f0a40e629dfa69b7a7373dd7fd /compute_kernel_writer/src/cl/CLHelpers.cpp
parent29dc9fc1d3d6e90746ba1173e3318b774dcf7bed (diff)
downloadComputeLibrary-ebfdb5a1ea73c2269eec5af492970c2174ab7d0f.tar.gz
Integrate CLTensorArgument
- Add CLTensorArgument to query the components and storages as OpenCL variables (or by values when possible) - Add caching mechanism in CLTensorArgument to keep track of the components and storages used - Add unit tests Resolves COMPMID-5787 Signed-off-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Signed-off-by: Viet-Hoa Do <viet-hoa.do@arm.com> Change-Id: Ib39e1f77b097e5b907a296fe6b0d41bb4bcd4ffc Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9908 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Gunes Bayir <gunes.bayir@arm.com> Reviewed-by: Jakub Sujak <jakub.sujak@arm.com>
Diffstat (limited to 'compute_kernel_writer/src/cl/CLHelpers.cpp')
-rw-r--r--compute_kernel_writer/src/cl/CLHelpers.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/compute_kernel_writer/src/cl/CLHelpers.cpp b/compute_kernel_writer/src/cl/CLHelpers.cpp
index 5a3d0fab81..af8a8a07ac 100644
--- a/compute_kernel_writer/src/cl/CLHelpers.cpp
+++ b/compute_kernel_writer/src/cl/CLHelpers.cpp
@@ -21,10 +21,10 @@
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
+#include "src/cl/CLHelpers.h"
#include "ckw/Error.h"
#include "ckw/types/DataType.h"
-
-#include "src/cl/CLHelpers.h"
+#include "ckw/types/TensorStorageType.h"
namespace ckw
{
@@ -120,4 +120,26 @@ int32_t width_to_cl_vector_size(int32_t width)
return 0;
}
}
+
+std::string cl_get_variable_storagetype_as_string(TensorStorageType storage)
+{
+ std::string res;
+ switch(storage)
+ {
+ case TensorStorageType::BufferUint8Ptr:
+ res += "__global uchar*";
+ break;
+ case TensorStorageType::Texture2dReadOnly:
+ res += "__read_only image2d_t";
+ break;
+ case TensorStorageType::Texture2dWriteOnly:
+ res += "__write_only image2d_t";
+ break;
+ default:
+ COMPUTE_KERNEL_WRITER_ERROR_ON_MSG("Unsupported storage type");
+ }
+
+ return res;
+}
+
} // namespace ckw