aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorSiCong Li <sicong.li@arm.com>2023-02-22 17:24:09 +0000
committerSiCong Li <sicong.li@arm.com>2023-03-06 16:19:11 +0000
commit47f177e679874dc901888973c5fc237b756b38cb (patch)
tree130386717101d0c2440111cb288faa21df8ab151 /utils
parentadfcacc8e39888a9a62e33c178041642d0a3047a (diff)
downloadComputeLibrary-47f177e679874dc901888973c5fc237b756b38cb.tar.gz
Fix LWS search space used by CLTuner
* Ensure CLTuner uses the real GWS used by run(), instead of the static GWS (which is usually changed at run time), by caching GWS in each kernel Note this is a somewhat inelegant workaround. The real issue stems from the fact that execution window and scheduler are very much coupled with our operator run() / run_op() method. (Please see COMPMID-5934) * Restrict LWS values to explore within GWS bound for exhaustive mode * Refactor gws_from_window() to include all the information required to calculate GWS * Log lws search space used for tuning * Fix ClDirectConv2dKernel config id Resolves COMPMID-5892 Signed-off-by: SiCong Li <sicong.li@arm.com> Change-Id: I420490d8b94d13ada2e44eb0a12078f883379334 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/9193 Reviewed-by: Gian Marco Iodice <gianmarco.iodice@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Benchmark: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'utils')
-rw-r--r--utils/TypePrinter.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/utils/TypePrinter.h b/utils/TypePrinter.h
index 448f184432..db27ddccde 100644
--- a/utils/TypePrinter.h
+++ b/utils/TypePrinter.h
@@ -1437,6 +1437,36 @@ inline std::string to_string(ICLTensor *cl_tensor)
{
return to_string(static_cast<const ICLTensor *>(cl_tensor));
}
+
+/** Formatted output of the cl::NDRange type.
+ *
+ * @param[out] os Output stream.
+ * @param[in] nd_range cl::NDRange to output.
+ *
+ * @return Modified output stream.
+ */
+inline ::std::ostream &operator<<(::std::ostream &os, const cl::NDRange &nd_range)
+{
+ os << "{"
+ << nd_range[0] << ","
+ << nd_range[1] << ","
+ << nd_range[2]
+ << "}";
+ return os;
+}
+
+/** Formatted output of the cl::NDRange type
+ *
+ * @param[in] nd_Range Type to output.
+ *
+ * @return Formatted string.
+ */
+inline std::string to_string(const cl::NDRange &nd_range)
+{
+ std::stringstream str;
+ str << nd_range;
+ return str.str();
+}
#endif /* ARM_COMPUTE_OPENCL_ENABLED */
/** Formatted output of the Dimensions type.