COMPMID-2225: Add interface support for new quantized data types.
Add support for:
-QSYMM8, 8-bit quantized symmetric
-QSYMM8_PER_CHANNEL, 8-bit quantized symmetric with per channel quantization
Change-Id: I00c4ff98e44af37419470af61419ee95d0de2463
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1236
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/arm_compute/core/CL/CLTypes.h b/arm_compute/core/CL/CLTypes.h
index 4a03cc9..24ae542 100644
--- a/arm_compute/core/CL/CLTypes.h
+++ b/arm_compute/core/CL/CLTypes.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2018 ARM Limited.
+ * Copyright (c) 2017-2019 ARM Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -24,6 +24,7 @@
#ifndef __ARM_COMPUTE_CL_TYPES_H__
#define __ARM_COMPUTE_CL_TYPES_H__
+#include "arm_compute/core/CL/ICLArray.h"
#include "arm_compute/core/GPUTarget.h"
#include <string>
@@ -53,5 +54,23 @@
size_t num_cores; /**< Number of cores */
size_t cache_size; /**< Cache size */
};
+
+/** OpenCL quantization data */
+struct CLQuantization
+{
+ /** Default Constructor */
+ CLQuantization()
+ : scale(nullptr), offset(nullptr) {};
+ /** Constructor
+ *
+ * @param[in] scale OpenCL scale array
+ * @param[in] offset OpenCL offset array
+ */
+ CLQuantization(const ICLFloatArray *scale, const ICLInt32Array *offset)
+ : scale(scale), offset(offset) {};
+
+ const ICLFloatArray *scale; /**< Quantization scale array */
+ const ICLInt32Array *offset; /**< Quantization offset array */
+};
} // namespace arm_compute
#endif /* __ARM_COMPUTE_CL_TYPES_H__ */