diff options
author | Gian Marco Iodice <gianmarco.iodice@arm.com> | 2023-07-07 11:25:57 +0100 |
---|---|---|
committer | Viet-Hoa Do <viet-hoa.do@arm.com> | 2023-07-20 08:48:15 +0000 |
commit | ebfdb5a1ea73c2269eec5af492970c2174ab7d0f (patch) | |
tree | 5c60d083100118f0a40e629dfa69b7a7373dd7fd /compute_kernel_writer/src/cl/CLHelpers.cpp | |
parent | 29dc9fc1d3d6e90746ba1173e3318b774dcf7bed (diff) | |
download | ComputeLibrary-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.cpp | 26 |
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 |