diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-07-31 22:21:38 +0100 |
---|---|---|
committer | Michalis Spyrou <michalis.spyrou@arm.com> | 2020-08-05 09:13:13 +0000 |
commit | 0499dff9293a86d3d53f72fed0a38b2823563674 (patch) | |
tree | bb76735e53f46cc8e362a7b528e549cdc7a2e346 /arm_compute/runtime/CL | |
parent | ac4c03042d7a3020f87cea641e69aa38a684ddd7 (diff) | |
download | ComputeLibrary-0499dff9293a86d3d53f72fed0a38b2823563674.tar.gz |
COMPMID-3392: Collapse TensorMaps into a single TensorPack
Collapse InputTensorMap and OutputTensorMap to a single TensorPack
mechanism.
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ie2fdfc6b07d84ad589169ec99ca64fcf45a00bec
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/c/VisualCompute/ComputeLibrary/+/253783
Tested-by: bsgcomp <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3641
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Reviewed-by: Sheri Zhang <sheri.zhang@arm.com>
Diffstat (limited to 'arm_compute/runtime/CL')
-rw-r--r-- | arm_compute/runtime/CL/CLScheduler.h | 7 | ||||
-rw-r--r-- | arm_compute/runtime/CL/CLTuner.h | 7 | ||||
-rw-r--r-- | arm_compute/runtime/CL/ICLOperator.h | 4 | ||||
-rw-r--r-- | arm_compute/runtime/CL/ICLTuner.h | 5 | ||||
-rw-r--r-- | arm_compute/runtime/CL/functions/CLConcatenateLayer.h | 2 | ||||
-rw-r--r-- | arm_compute/runtime/CL/functions/CLElementwiseOperations.h | 14 | ||||
-rw-r--r-- | arm_compute/runtime/CL/functions/CLPReluLayer.h | 2 | ||||
-rw-r--r-- | arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h | 4 | ||||
-rw-r--r-- | arm_compute/runtime/CL/tuners/BifrostTuner.h | 2 | ||||
-rw-r--r-- | arm_compute/runtime/CL/tuners/MidgardTuner.h | 2 |
10 files changed, 24 insertions, 25 deletions
diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h index 93595c65c7..8a22832792 100644 --- a/arm_compute/runtime/CL/CLScheduler.h +++ b/arm_compute/runtime/CL/CLScheduler.h @@ -76,11 +76,10 @@ public: /** Schedule the execution of the passed kernel if possible. * * @param[in] kernel Kernel to execute. - * @param[in] inputs Vector containing the input tensors. - * @param[in] outputs Vector containing the output tensors. + * @param[in] tensors Vector containing the tensors to operate on. * @param[in] flush (Optional) Specifies if the command queue will be flushed after running the kernel. */ - void enqueue_op(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs, bool flush = true); + void enqueue_op(ICLKernel &kernel, ITensorPack &tensors, bool flush = true); /** Initialises the context and command queue to be used by the scheduler. * @@ -152,7 +151,7 @@ public: bool is_initialised() const; private: - void enqueue_common(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs, bool flush); + void enqueue_common(ICLKernel &kernel, ITensorPack &tensors, bool flush); /** Flag to ensure symbols initialisation is happening before Scheduler creation */ static std::once_flag _initialize_symbols; diff --git a/arm_compute/runtime/CL/CLTuner.h b/arm_compute/runtime/CL/CLTuner.h index aa31181d2d..3b45a2177e 100644 --- a/arm_compute/runtime/CL/CLTuner.h +++ b/arm_compute/runtime/CL/CLTuner.h @@ -116,7 +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; + void tune_kernel_dynamic(ICLKernel &kernel, ITensorPack &tensors) override; /** Is the kernel_event set ? * @@ -127,11 +127,12 @@ public: private: /** Find optimal LWS using brute-force approach * - * @param[in] kernel OpenCL kernel to be tuned with LWS + * @param[in] kernel OpenCL kernel to be tuned with LWS + * @param[in,out] tensors Tensors for the kernel to operate on * * @return The optimal LWS to use */ - cl::NDRange find_optimal_lws(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs); + cl::NDRange find_optimal_lws(ICLKernel &kernel, ITensorPack &tensors); std::unordered_map<std::string, cl::NDRange> _lws_table; cl::Event _kernel_event; diff --git a/arm_compute/runtime/CL/ICLOperator.h b/arm_compute/runtime/CL/ICLOperator.h index 2d6c96e815..526b7e93e9 100644 --- a/arm_compute/runtime/CL/ICLOperator.h +++ b/arm_compute/runtime/CL/ICLOperator.h @@ -54,8 +54,8 @@ public: ICLOperator &operator=(ICLOperator &&) = default; // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; - void prepare(OperatorTensorMap constants) override; + void run(ITensorPack &tensors) override; + void prepare(ITensorPack &constants) override; MemoryRequirements workspace() const override; protected: diff --git a/arm_compute/runtime/CL/ICLTuner.h b/arm_compute/runtime/CL/ICLTuner.h index 4bc8ddf632..0f951c384e 100644 --- a/arm_compute/runtime/CL/ICLTuner.h +++ b/arm_compute/runtime/CL/ICLTuner.h @@ -54,10 +54,9 @@ public: /** 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 + * @param[in, out] tensors Tensors for the kernel to use */ - virtual void tune_kernel_dynamic(ICLKernel &kernel, const InputTensorMap &inputs, const OutputTensorMap &outputs) = 0; + virtual void tune_kernel_dynamic(ICLKernel &kernel, ITensorPack &tensors) = 0; }; } // namespace arm_compute #endif /*ARM_COMPUTE_ICLTUNER_H */ diff --git a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h index 99a2053a5a..f535c8ea97 100644 --- a/arm_compute/runtime/CL/functions/CLConcatenateLayer.h +++ b/arm_compute/runtime/CL/functions/CLConcatenateLayer.h @@ -144,7 +144,7 @@ public: static Status validate(const std::vector<const ITensorInfo *> &inputs_vector, const ITensorInfo *output, size_t axis); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: std::vector<std::unique_ptr<ICLKernel>> _concat_kernels; diff --git a/arm_compute/runtime/CL/functions/CLElementwiseOperations.h b/arm_compute/runtime/CL/functions/CLElementwiseOperations.h index 5af24c90ac..2d9d43863d 100644 --- a/arm_compute/runtime/CL/functions/CLElementwiseOperations.h +++ b/arm_compute/runtime/CL/functions/CLElementwiseOperations.h @@ -98,7 +98,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, ConvertPolicy policy, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; @@ -168,7 +168,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, ConvertPolicy policy, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; @@ -207,7 +207,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; @@ -246,7 +246,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; @@ -285,7 +285,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; @@ -324,7 +324,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; @@ -363,7 +363,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; diff --git a/arm_compute/runtime/CL/functions/CLPReluLayer.h b/arm_compute/runtime/CL/functions/CLPReluLayer.h index 08567cccfb..84743508df 100644 --- a/arm_compute/runtime/CL/functions/CLPReluLayer.h +++ b/arm_compute/runtime/CL/functions/CLPReluLayer.h @@ -64,7 +64,7 @@ public: static Status validate(const ITensorInfo *input, const ITensorInfo *alpha, const ITensorInfo *output); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; diff --git a/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h b/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h index ca8d77e6b7..2066012306 100644 --- a/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h +++ b/arm_compute/runtime/CL/functions/CLPixelWiseMultiplication.h @@ -103,7 +103,7 @@ public: ConvertPolicy overflow_policy, RoundingPolicy rounding_policy, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; @@ -136,7 +136,7 @@ public: static Status validate(const ITensorInfo *input1, const ITensorInfo *input2, const ITensorInfo *output, const ActivationLayerInfo &act_info = ActivationLayerInfo()); // Inherited methods overridden: - void run(InputTensorMap inputs, OutputTensorMap outputs, OperatorTensorMap workspace) override; + void run(ITensorPack &tensors) override; private: CLFillBorderKernel _border_handler; diff --git a/arm_compute/runtime/CL/tuners/BifrostTuner.h b/arm_compute/runtime/CL/tuners/BifrostTuner.h index 830f7d9067..237693fb88 100644 --- a/arm_compute/runtime/CL/tuners/BifrostTuner.h +++ b/arm_compute/runtime/CL/tuners/BifrostTuner.h @@ -37,7 +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; + void tune_kernel_dynamic(ICLKernel &kernel, ITensorPack &tensors) 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 c702e7a2aa..86d46044c2 100644 --- a/arm_compute/runtime/CL/tuners/MidgardTuner.h +++ b/arm_compute/runtime/CL/tuners/MidgardTuner.h @@ -37,7 +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; + void tune_kernel_dynamic(ICLKernel &kernel, ITensorPack &tensors) override; }; } // namespace tuners } // namespace arm_compute |