aboutsummaryrefslogtreecommitdiff
path: root/arm_compute/core/CL/CLHelpers.h
diff options
context:
space:
mode:
authorMichele Di Giorgio <michele.digiorgio@arm.com>2018-04-25 11:58:07 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:51:50 +0000
commitb8fc60fc9fe9ad6c48d9618fc65753fbe5813216 (patch)
treea9f271d73f573686ba29c724bb3a3cee4b6b203b /arm_compute/core/CL/CLHelpers.h
parent62385bce6baacfa194cff9e6be6d8eaa73bc3fab (diff)
downloadComputeLibrary-b8fc60fc9fe9ad6c48d9618fc65753fbe5813216.tar.gz
COMPMID-1086: Optimizing GCGEMM - Add helpers to get target GPU information
This patch moves some of the helper functions in CLHelpers.[h,cpp] to GPUTarget.[h,cpp] in order to make them avaialable to both CL and GLES backends. Change-Id: Ib89b05a2084b73eb643b32fac13b8367cc80b6a5 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/128988 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'arm_compute/core/CL/CLHelpers.h')
-rw-r--r--arm_compute/core/CL/CLHelpers.h79
1 files changed, 2 insertions, 77 deletions
diff --git a/arm_compute/core/CL/CLHelpers.h b/arm_compute/core/CL/CLHelpers.h
index fe2d833148..feb44ce04b 100644
--- a/arm_compute/core/CL/CLHelpers.h
+++ b/arm_compute/core/CL/CLHelpers.h
@@ -24,7 +24,9 @@
#ifndef __ARM_COMPUTE_CLHELPERS_H__
#define __ARM_COMPUTE_CLHELPERS_H__
+#include "arm_compute/core/CL/CLTypes.h"
#include "arm_compute/core/CL/OpenCL.h"
+#include "arm_compute/core/GPUTarget.h"
#include "arm_compute/core/Helpers.h"
#include "support/ToolchainSupport.h"
@@ -33,14 +35,6 @@
namespace arm_compute
{
enum class DataType;
-enum class GPUTarget;
-
-/** Enable bitwise operations on GPUTarget enumerations */
-template <>
-struct enable_bitwise_ops<arm_compute::GPUTarget>
-{
- static constexpr bool value = true; /**< Enabled. */
-};
/** Max vector width of an OpenCL vector */
static constexpr unsigned int max_cl_vector_width = 16;
@@ -69,48 +63,6 @@ std::string get_data_size_from_data_type(const DataType &dt);
*/
std::string get_underlying_cl_type_from_data_type(const DataType &dt);
-/** Translates a given gpu device target to string.
- *
- * @param[in] target Given gpu target.
- *
- * @return The string describing the target.
- */
-const std::string &string_from_target(GPUTarget target);
-
-/** Helper function to create and return a unique_ptr pointed to a CL kernel object
- * It also calls the kernel's configuration.
- *
- * @param[in] args All the arguments that need pass to kernel's configuration.
- *
- * @return A unique pointer pointed to a CL kernel object
- */
-template <typename Kernel, typename... T>
-std::unique_ptr<Kernel> create_configure_kernel(T &&... args)
-{
- std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();
- k->configure(std::forward<T>(args)...);
- return k;
-}
-
-/** Helper function to create and return a unique_ptr pointed to a CL kernel object
- *
- * @return A unique pointer pointed to a CL kernel object
- */
-template <typename Kernel>
-std::unique_ptr<Kernel> create_kernel()
-{
- std::unique_ptr<Kernel> k = arm_compute::support::cpp14::make_unique<Kernel>();
- return k;
-}
-
-/** Helper function to get the GPU target from a device name
- *
- * @param[in] device_name A device name
- *
- * @return the GPU target
- */
-GPUTarget get_target_from_name(const std::string &device_name);
-
/** Helper function to get the GPU target from CL device
*
* @param[in] device A CL device
@@ -119,14 +71,6 @@ GPUTarget get_target_from_name(const std::string &device_name);
*/
GPUTarget get_target_from_device(cl::Device &device);
-/** Helper function to get the GPU arch
- *
- * @param[in] target GPU target
- *
- * @return the GPU target which shows the arch
- */
-GPUTarget get_arch_from_target(GPUTarget target);
-
/** Helper function to get the highest OpenCL version supported
*
* @param[in] device A CL device
@@ -158,24 +102,5 @@ bool fp16_supported(const cl::Device &device);
* @return True if the extension is supported
*/
bool arm_non_uniform_workgroup_supported(const cl::Device &device);
-/** Helper function to check whether a gpu target is equal to the provided targets
- *
- * @param[in] target_to_check gpu target to check
- * @param[in] target First target to compare against
- * @param[in] targets (Optional) Additional targets to compare with
- *
- * @return True if the target is equal with at least one of the targets.
- */
-template <typename... Args>
-bool gpu_target_is_in(GPUTarget target_to_check, GPUTarget target, Args... targets)
-{
- return (target_to_check == target) | gpu_target_is_in(target_to_check, targets...);
-}
-
-/** Variant of gpu_target_is_in for comparing two targets */
-inline bool gpu_target_is_in(GPUTarget target_to_check, GPUTarget target)
-{
- return target_to_check == target;
-}
}
#endif /* __ARM_COMPUTE_CLHELPERS_H__ */