aboutsummaryrefslogtreecommitdiff
path: root/arm_compute
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2020-07-17 12:47:56 +0100
committerGian Marco Iodice <gianmarco.iodice@arm.com>2020-07-20 07:34:56 +0000
commit9c82e014260a997fe784affc7e0545972c3511e5 (patch)
tree404b1ab89ab9b62b9883c182f81b4bf4b53448ad /arm_compute
parentba2cc1aea6bcd16b3ad81b55be18911af83d2113 (diff)
downloadComputeLibrary-9c82e014260a997fe784affc7e0545972c3511e5.tar.gz
COMPMID-3604: Graph failures during tuning
Update ICLTuner interface to account for the new memory injection interface. Redirect to appropriate kernel execution interface depending on if the kernel supports memory injection or not. Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com> Change-Id: I8ce29f5c22f1865c9e688d12b65e68ee4486f99c Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3588 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com> Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute')
-rw-r--r--arm_compute/runtime/CL/CLTuner.h5
-rw-r--r--arm_compute/runtime/CL/ICLTuner.h13
-rw-r--r--arm_compute/runtime/CL/tuners/BifrostTuner.h3
-rw-r--r--arm_compute/runtime/CL/tuners/MidgardTuner.h3
4 files changed, 18 insertions, 6 deletions
diff --git a/arm_compute/runtime/CL/CLTuner.h b/arm_compute/runtime/CL/CLTuner.h
index 745d57a959..aa31181d2d 100644
--- a/arm_compute/runtime/CL/CLTuner.h
+++ b/arm_compute/runtime/CL/CLTuner.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -116,6 +116,7 @@ public:
// Inherited methods overridden:
void tune_kernel_static(ICLKernel &kernel) override;
void tune_kernel_dynamic(ICLKernel &kernel) override;
+ void tune_kernel_dynamic(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs) override;
/** Is the kernel_event set ?
*
@@ -130,7 +131,7 @@ private:
*
* @return The optimal LWS to use
*/
- cl::NDRange find_optimal_lws(ICLKernel &kernel);
+ cl::NDRange find_optimal_lws(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs);
std::unordered_map<std::string, cl::NDRange> _lws_table;
cl::Event _kernel_event;
diff --git a/arm_compute/runtime/CL/ICLTuner.h b/arm_compute/runtime/CL/ICLTuner.h
index 0b238180eb..4bc8ddf632 100644
--- a/arm_compute/runtime/CL/ICLTuner.h
+++ b/arm_compute/runtime/CL/ICLTuner.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2017-2019 Arm Limited.
+ * Copyright (c) 2017-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -24,6 +24,8 @@
#ifndef ARM_COMPUTE_ICLTUNER_H
#define ARM_COMPUTE_ICLTUNER_H
+#include "arm_compute/core/experimental/Types.h"
+
namespace arm_compute
{
class ICLKernel;
@@ -49,6 +51,13 @@ public:
* @param[in] kernel Kernel to tune
*/
virtual void tune_kernel_dynamic(ICLKernel &kernel) = 0;
+ /** Tune OpenCL kernel dynamically
+ *
+ * @param[in] kernel Kernel to tune
+ * @param[in] inputs Inputs for the kernel to use
+ * @param[in, out] outputs Outputs for the kernel to use
+ */
+ virtual void tune_kernel_dynamic(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs) = 0;
};
-}
+} // namespace arm_compute
#endif /*ARM_COMPUTE_ICLTUNER_H */
diff --git a/arm_compute/runtime/CL/tuners/BifrostTuner.h b/arm_compute/runtime/CL/tuners/BifrostTuner.h
index b7ce6e96f9..830f7d9067 100644
--- a/arm_compute/runtime/CL/tuners/BifrostTuner.h
+++ b/arm_compute/runtime/CL/tuners/BifrostTuner.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,7 @@ public:
// Inherited overriden methods
void tune_kernel_static(ICLKernel &kernel) override;
void tune_kernel_dynamic(ICLKernel &kernel) override;
+ void tune_kernel_dynamic(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs) override;
};
} // namespace tuners
} // namespace arm_compute
diff --git a/arm_compute/runtime/CL/tuners/MidgardTuner.h b/arm_compute/runtime/CL/tuners/MidgardTuner.h
index 418b80728d..c702e7a2aa 100644
--- a/arm_compute/runtime/CL/tuners/MidgardTuner.h
+++ b/arm_compute/runtime/CL/tuners/MidgardTuner.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2019 Arm Limited.
+ * Copyright (c) 2018-2020 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -37,6 +37,7 @@ public:
// Inherited overriden methods
void tune_kernel_static(ICLKernel &kernel) override;
void tune_kernel_dynamic(ICLKernel &kernel) override;
+ void tune_kernel_dynamic(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs) override;
};
} // namespace tuners
} // namespace arm_compute