aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichele Di Giorgio <michele.digiorgio@arm.com>2021-03-18 17:32:00 +0000
committerGeorgios Pinitas <georgios.pinitas@arm.com>2021-03-26 09:22:21 +0000
commit40efd5365108b97fc8d6cb93fa1d572a08a93ad5 (patch)
treecdcd11c2a553863ae7e7df0b0c6bbd18379fb9db
parenta8903c871252412c70623b5f8e284c181238a9b2 (diff)
downloadComputeLibrary-40efd5365108b97fc8d6cb93fa1d572a08a93ad5.tar.gz
Remove GLES-related code
Change-Id: I208281d6e9ec15f9dba03cfbdc36ba2bf072d592 Signed-off-by: Michele Di Giorgio <michele.digiorgio@arm.com> Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/5314 Comments-Addressed: Arm Jenkins <bsgcomp@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
-rw-r--r--arm_compute/core/IDevice.h3
-rw-r--r--arm_compute/graph/TypePrinter.h3
-rw-r--r--arm_compute/graph/Types.h1
-rw-r--r--arm_compute/runtime/ITransformWeights.h1
-rw-r--r--arm_compute/runtime/experimental/Types.h3
-rwxr-xr-xscripts/clang_tidy_rules.py3
-rw-r--r--src/graph/TypeLoader.cpp3
-rw-r--r--src/graph/Utils.cpp17
-rw-r--r--tests/validate_examples/graph_validate_utils.h1
-rw-r--r--tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h261
-rw-r--r--utils/CommonGraphOptions.cpp1
-rw-r--r--utils/CommonGraphOptions.h3
-rw-r--r--utils/GraphUtils.h6
-rw-r--r--utils/ImageLoader.h6
-rw-r--r--utils/Utils.h8
15 files changed, 18 insertions, 302 deletions
diff --git a/arm_compute/core/IDevice.h b/arm_compute/core/IDevice.h
index 2a648ff0e1..12efa91e19 100644
--- a/arm_compute/core/IDevice.h
+++ b/arm_compute/core/IDevice.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Arm Limited.
+ * Copyright (c) 2020-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -34,7 +34,6 @@ enum class DeviceType
{
NEON,
CL,
- GLES
};
/** Interface for device object */
diff --git a/arm_compute/graph/TypePrinter.h b/arm_compute/graph/TypePrinter.h
index 3f529a9814..317c5a7596 100644
--- a/arm_compute/graph/TypePrinter.h
+++ b/arm_compute/graph/TypePrinter.h
@@ -48,9 +48,6 @@ inline ::std::ostream &operator<<(::std::ostream &os, const Target &target)
case Target::CL:
os << "CL";
break;
- case Target::GC:
- os << "GC";
- break;
default:
ARM_COMPUTE_ERROR("NOT_SUPPORTED!");
}
diff --git a/arm_compute/graph/Types.h b/arm_compute/graph/Types.h
index c4afba2dee..b1154daef3 100644
--- a/arm_compute/graph/Types.h
+++ b/arm_compute/graph/Types.h
@@ -98,7 +98,6 @@ enum class Target
UNSPECIFIED, /**< Unspecified Target */
NEON, /**< Neon capable target device */
CL, /**< OpenCL capable target device */
- GC, /**< GLES compute capable target device */
};
/** Supported Element-wise operations */
diff --git a/arm_compute/runtime/ITransformWeights.h b/arm_compute/runtime/ITransformWeights.h
index 4fb2f89418..f85b7966c5 100644
--- a/arm_compute/runtime/ITransformWeights.h
+++ b/arm_compute/runtime/ITransformWeights.h
@@ -39,7 +39,6 @@ class ITensor;
* Lower two bits store the target:
* 00 -> Neon
* 01 -> CL
- * 10 -> GLES
* 11 -> Unused
*
* Five bits store the id of the reshape function:
diff --git a/arm_compute/runtime/experimental/Types.h b/arm_compute/runtime/experimental/Types.h
index 54ea47d098..ce44253f82 100644
--- a/arm_compute/runtime/experimental/Types.h
+++ b/arm_compute/runtime/experimental/Types.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2020 Arm Limited.
+ * Copyright (c) 2020-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -35,7 +35,6 @@ enum class MemoryType
{
CPU,
CL,
- GLES
};
} // namespace experimental
} // namespace arm_compute
diff --git a/scripts/clang_tidy_rules.py b/scripts/clang_tidy_rules.py
index 2e72c824f0..fd6fd9412e 100755
--- a/scripts/clang_tidy_rules.py
+++ b/scripts/clang_tidy_rules.py
@@ -18,7 +18,6 @@ def get_list_flags( filename, arch):
flags = ["-std=c++14"]
flags.append("-DARM_COMPUTE_CPP_SCHEDULER=1")
flags.append("-DARM_COMPUTE_CL")
- flags.append("-DARM_COMPUTE_GC")
if arch == "aarch64":
flags.append("-DARM_COMPUTE_AARCH64_V8_2")
return flags
@@ -87,7 +86,6 @@ def filter_clang_tidy_lines( lines ):
("TensorAllocator.cpp" in line and "warning: do not declare C-style arrays" in line) or
("RawTensor.cpp" in line and "warning: pointer parameter 'ptr' can be pointer to const" in line) or
("RawTensor.cpp" in line and "warning: do not declare C-style arrays" in line) or
- ("GCBufferAllocator.cpp" in line and "warning: initializing non-owner" in line) or
("NEMinMaxLocationKernel.cpp" in line and "move constructors should be marked noexcept" in line) or
("NEMinMaxLocationKernel.cpp" in line and "move assignment operators should be marked noexcept" in line) or
("CLMinMaxLocationKernel.cpp" in line and "Forming reference to null pointer" in line) or
@@ -118,7 +116,6 @@ def filter_clang_tidy_lines( lines ):
("CPUUtils.cpp" in line and "consider replacing 'unsigned long' with 'uint64'" in line) or
("CPUUtils.cpp" in line and "parameter 'cpusv' is unused" in line) or
("CPUUtils.cpp" in line and "warning: uninitialized record type" in line) or
- ("GCKernelLibrary.cpp" in line and "warning: do not declare C-style arrays" in line) or
("Utils.h" in line and "warning: Use of zero-allocated memory" in line) or
("NEDepthwiseConvolutionLayerNativeKernel.cpp" in line and "misc-non-private-member-variables-in-classes" in line) or # This is to prevent false positive, should be reassessed with the newer clang-tidy
("NEDepthwiseConvolutionLayerNativeKernel.cpp" in line and "cppcoreguidelines-pro-type-member-init" in line)): # This is to prevent false positive, should be reassessed with the newer clang-tidy
diff --git a/src/graph/TypeLoader.cpp b/src/graph/TypeLoader.cpp
index 7082d6b99e..8efd66f2c5 100644
--- a/src/graph/TypeLoader.cpp
+++ b/src/graph/TypeLoader.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2020 Arm Limited.
+ * Copyright (c) 2018-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -59,7 +59,6 @@ Target target_from_name(const std::string &name)
{
{ "neon", Target::NEON },
{ "cl", Target::CL },
- { "gc", Target::GC },
};
#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED
diff --git a/src/graph/Utils.cpp b/src/graph/Utils.cpp
index 8e12689fb9..37af1bff93 100644
--- a/src/graph/Utils.cpp
+++ b/src/graph/Utils.cpp
@@ -46,10 +46,6 @@ Target get_default_target()
{
return Target::CL;
}
- if(is_target_supported(Target::GC))
- {
- return Target::GC;
- }
ARM_COMPUTE_ERROR("No backend exists!");
}
@@ -76,10 +72,9 @@ void force_target_to_graph(Graph &g, Target target)
PassManager create_default_pass_manager(Target target, const GraphConfig &cfg)
{
+ ARM_COMPUTE_UNUSED(target);
PassManager pm;
- const bool is_target_gc = target == Target::GC;
-
// Passes that mutate graph IR
if(cfg.use_synthetic_type)
{
@@ -88,7 +83,7 @@ PassManager create_default_pass_manager(Target target, const GraphConfig &cfg)
case DataType::QASYMM8:
case DataType::QASYMM8_SIGNED:
{
- pm.append(std::make_unique<SyntheticDataTypeMutator>(cfg.synthetic_type), !is_target_gc);
+ pm.append(std::make_unique<SyntheticDataTypeMutator>(cfg.synthetic_type));
break;
}
default:
@@ -98,13 +93,13 @@ PassManager create_default_pass_manager(Target target, const GraphConfig &cfg)
}
}
}
- pm.append(std::make_unique<NodeFusionMutator>(), !is_target_gc);
+ pm.append(std::make_unique<NodeFusionMutator>());
pm.append(std::make_unique<GroupedConvolutionMutator>());
- pm.append(std::make_unique<InPlaceOperationMutator>(), !is_target_gc);
+ pm.append(std::make_unique<InPlaceOperationMutator>());
// Passes that mutate backend information
- pm.append(std::make_unique<DepthConcatSubTensorMutator>(), !is_target_gc);
- pm.append(std::make_unique<SplitLayerSubTensorMutator>(), !is_target_gc);
+ pm.append(std::make_unique<DepthConcatSubTensorMutator>());
+ pm.append(std::make_unique<SplitLayerSubTensorMutator>());
pm.append(std::make_unique<NodeExecutionMethodMutator>());
return pm;
diff --git a/tests/validate_examples/graph_validate_utils.h b/tests/validate_examples/graph_validate_utils.h
index f6f47cc2c3..0921fbfdef 100644
--- a/tests/validate_examples/graph_validate_utils.h
+++ b/tests/validate_examples/graph_validate_utils.h
@@ -240,7 +240,6 @@ public:
{
arm_compute::graph::Target::NEON,
arm_compute::graph::Target::CL,
- arm_compute::graph::Target::GC,
};
const std::set<arm_compute::DataType> supported_data_types
diff --git a/tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h b/tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h
deleted file mode 100644
index 6ef30d3c21..0000000000
--- a/tests/validation/fixtures/DirectConvolutionLayerTensorShiftFixture.h
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
- * Copyright (c) 2017-2021 Arm Limited.
- *
- * SPDX-License-Identifier: MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to
- * deal in the Software without restriction, including without limitation the
- * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- * sell copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-#include "arm_compute/core/TensorShape.h"
-#include "arm_compute/core/Types.h"
-#include "tests/AssetsLibrary.h"
-#include "tests/Globals.h"
-#include "tests/IAccessor.h"
-#include "tests/framework/Asserts.h"
-#include "tests/framework/Fixture.h"
-#include "tests/validation/Helpers.h"
-#include "tests/validation/fixtures/ConvolutionLayerFixture.h"
-#include "tests/validation/reference/ConvolutionLayer.h"
-
-#include <random>
-
-namespace arm_compute
-{
-namespace test
-{
-namespace validation
-{
-template <typename TensorType, typename AccessorType, typename FunctionType, typename T>
-class DirectConvolutionValidationGenericTensorShiftFixture : public framework::Fixture
-{
-public:
- using TBias = typename std::conditional<std::is_same<typename std::decay<T>::type, uint8_t>::value, int32_t, T>::type;
-
-public:
- template <typename...>
- void setup(TensorShape input_shape, int stride_x, int stride_y, int pad_x, int pad_y, unsigned int kernel_size, unsigned int num_kernels,
- DataType data_type, QuantizationInfo quantization_info)
- {
- _quantization_info = quantization_info;
- _data_type = data_type;
-
- const TensorShape weights_shape(kernel_size, kernel_size, input_shape.z(), num_kernels);
- const TensorShape bias_shape(num_kernels);
- const PadStrideInfo info(stride_x, stride_y, pad_x, pad_y, DimensionRoundingType::FLOOR);
- const TensorShape output_shape = get_output_shape(input_shape, weights_shape, info);
- const DataType bias_data_type = is_data_type_quantized_asymmetric(data_type) ? DataType::S32 : data_type;
-
- _target = compute_target(input_shape, weights_shape, bias_shape, output_shape, info, data_type, bias_data_type, quantization_info);
- _reference = compute_reference(input_shape, weights_shape, bias_shape, output_shape, info, data_type, bias_data_type, quantization_info);
- }
-
- template <typename...>
- void setup(TensorShape input_shape, TensorShape weights_shape, TensorShape bias_shape, TensorShape output_shape, PadStrideInfo info, unsigned int dilation_x, unsigned int dilation_y,
- DataType data_type, QuantizationInfo quantization_info)
- {
- ARM_COMPUTE_UNUSED(dilation_x, dilation_y);
-
- _quantization_info = quantization_info;
- _data_type = data_type;
-
- const DataType bias_data_type = is_data_type_quantized_asymmetric(data_type) ? DataType::S32 : data_type;
-
- _target = compute_target(input_shape, weights_shape, bias_shape, output_shape, info, data_type, bias_data_type, quantization_info);
- _reference = compute_reference(input_shape, weights_shape, bias_shape, output_shape, info, data_type, bias_data_type, quantization_info);
- }
-
-protected:
- template <typename U>
- void fill(U &&tensor, int i)
- {
- switch(tensor.data_type())
- {
- case DataType::QASYMM8:
- {
- std::uniform_int_distribution<uint8_t> distribution(0, 50);
- library->fill(tensor, distribution, i);
- break;
- }
- case DataType::F16:
- {
- arm_compute::utils::uniform_real_distribution_16bit<half> distribution{ -1.0f, 1.0f };
- library->fill(tensor, distribution, i);
- break;
- }
- case DataType::F32:
- {
- std::uniform_real_distribution<float> distribution(-1.0f, 1.0f);
- library->fill(tensor, distribution, i);
- break;
- }
- case DataType::S32:
- {
- std::uniform_int_distribution<int32_t> distribution(-5, 5);
- library->fill(tensor, distribution, i);
- break;
- }
- default:
- library->fill_tensor_uniform(tensor, i);
- }
- }
-
- TensorType compute_target(const TensorShape &input_shape, const TensorShape &weights_shape, const TensorShape &bias_shape, const TensorShape &output_shape, const PadStrideInfo &info,
- DataType data_type, DataType bias_data_type, QuantizationInfo quantization_info)
- {
- // Create tensors
- TensorType src = create_tensor<TensorType>(input_shape, data_type, 1, quantization_info);
- TensorType weights = create_tensor<TensorType>(weights_shape, data_type, 1, quantization_info);
- TensorType bias = create_tensor<TensorType>(bias_shape, bias_data_type, 1, quantization_info);
- TensorType dst = create_tensor<TensorType>(output_shape, data_type, 1, quantization_info);
-
- TensorShape output_shape1 = get_output_shape(output_shape, weights_shape, info);
- TensorType dst1 = create_tensor<TensorType>(output_shape1, data_type, 1, quantization_info);
-
- // Create and configure function
- FunctionType conv;
- conv.configure(&src, &weights, &bias, &dst, info);
- FunctionType conv1;
- conv1.configure(&dst, &weights, &bias, &dst1, info);
-
- ARM_COMPUTE_EXPECT(src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(weights.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(bias.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(dst1.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Allocate tensors
- src.allocator()->allocate();
- weights.allocator()->allocate();
- bias.allocator()->allocate();
- dst.allocator()->allocate();
- dst1.allocator()->allocate();
-
- ARM_COMPUTE_EXPECT(!src.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!weights.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!bias.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!dst.info()->is_resizable(), framework::LogLevel::ERRORS);
- ARM_COMPUTE_EXPECT(!dst1.info()->is_resizable(), framework::LogLevel::ERRORS);
-
- // Fill tensors
- fill(AccessorType(src), 0);
- fill(AccessorType(weights), 1);
- fill(AccessorType(bias), 2);
-
- // Compute NEConvolutionLayer function
- GCScheduler::get().memory_barrier();
- conv.run();
- GCScheduler::get().memory_barrier();
- conv1.run();
-
- return dst1;
- }
-
- SimpleTensor<T> compute_reference(const TensorShape &input_shape, const TensorShape &weights_shape, const TensorShape &bias_shape, const TensorShape &output_shape, const PadStrideInfo &info,
- DataType data_type, DataType bias_data_type, QuantizationInfo quantization_info)
- {
- // Create reference
- SimpleTensor<T> src{ input_shape, data_type, 1, quantization_info };
- SimpleTensor<T> weights{ weights_shape, data_type, 1, quantization_info };
- SimpleTensor<TBias> bias{ bias_shape, bias_data_type, 1, quantization_info };
-
- SimpleTensor<T> dst{ output_shape, data_type, 1, quantization_info };
- TensorShape output_shape1 = get_output_shape(output_shape, weights_shape, info);
-
- // Fill reference
- fill(src, 0);
- fill(weights, 1);
- fill(bias, 2);
-
- dst = reference::convolution_layer<T>(src, weights, bias, output_shape, info);
- return reference::convolution_layer<T>(dst, weights, bias, output_shape1, info);
- }
-
- TensorType _target{};
- SimpleTensor<T> _reference{};
- QuantizationInfo _quantization_info{};
- DataType _data_type{};
-
-private:
- TensorShape get_output_shape(TensorShape in_shape, TensorShape kernel_shape, const PadStrideInfo &info)
- {
- TensorShape out_shape(in_shape);
- const std::pair<unsigned int, unsigned int> scaled_dims = scaled_dimensions(in_shape.x(),
- in_shape.y(),
- kernel_shape.x(),
- kernel_shape.y(),
- info);
- out_shape.set(0, scaled_dims.first);
- out_shape.set(1, scaled_dims.second);
- out_shape.set(2, kernel_shape[3]);
- return out_shape;
- }
-};
-
-template <typename TensorType, typename AccessorType, typename FunctionType, typename T>
-class DirectConvolutionValidationTensorShiftFixture : public DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>
-{
-public:
- template <typename...>
- void setup(TensorShape input_shape, int stride_x, int stride_y, int pad_x, int pad_y, unsigned int kernel_size, unsigned int num_kernels, DataType data_type)
- {
- DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>::setup(input_shape, stride_x, stride_y, pad_x, pad_y, kernel_size, num_kernels, data_type,
- QuantizationInfo());
- }
-};
-
-template <typename TensorType, typename AccessorType, typename FunctionType, typename T>
-class DirectConvolutionValidationQuantizedTensorShiftFixture : public DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>
-{
-public:
- template <typename...>
- void setup(TensorShape input_shape, int stride_x, int stride_y, int pad_x, int pad_y, unsigned int kernel_size, unsigned int num_kernels, DataType data_type, QuantizationInfo quantization_info)
- {
- DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>::setup(input_shape, stride_x, stride_y, pad_x, pad_y, kernel_size, num_kernels, data_type,
- quantization_info);
- }
-};
-
-template <typename TensorType, typename AccessorType, typename FunctionType, typename T>
-class DirectConvolutionValidationWithTensorShapesQuantizedTensorShiftFixture : public DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>
-{
-public:
- template <typename...>
- void setup(TensorShape input_shape, TensorShape weights_shape, TensorShape bias_shape, TensorShape output_shape, PadStrideInfo info, unsigned int dilation_x, unsigned int dilation_y,
- DataType data_type, QuantizationInfo quantization_info)
- {
- DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>::setup(input_shape, weights_shape, bias_shape, output_shape, info, dilation_x, dilation_y, data_type,
- quantization_info);
- }
-};
-
-template <typename TensorType, typename AccessorType, typename FunctionType, typename T>
-class DirectConvolutionValidationWithTensorShapesTensorShiftFixture : public DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>
-{
-public:
- template <typename...>
- void setup(TensorShape input_shape, TensorShape weights_shape, TensorShape bias_shape, TensorShape output_shape, PadStrideInfo info, unsigned int dilation_x, unsigned int dilation_y,
- DataType data_type)
- {
- DirectConvolutionValidationGenericTensorShiftFixture<TensorType, AccessorType, FunctionType, T>::setup(input_shape, weights_shape, bias_shape, output_shape, info, dilation_x, dilation_y, data_type,
- QuantizationInfo());
- }
-};
-
-} // namespace validation
-} // namespace test
-} // namespace arm_compute
diff --git a/utils/CommonGraphOptions.cpp b/utils/CommonGraphOptions.cpp
index b8808a476f..80bcbb5110 100644
--- a/utils/CommonGraphOptions.cpp
+++ b/utils/CommonGraphOptions.cpp
@@ -137,7 +137,6 @@ CommonGraphOptions::CommonGraphOptions(CommandLineParser &parser)
{
Target::NEON,
Target::CL,
- Target::GC,
};
std::set<arm_compute::DataType> supported_data_types
diff --git a/utils/CommonGraphOptions.h b/utils/CommonGraphOptions.h
index 98f020d79e..670a3073b5 100644
--- a/utils/CommonGraphOptions.h
+++ b/utils/CommonGraphOptions.h
@@ -40,7 +40,7 @@ namespace utils
*
* --help : Print the example's help message.
* --threads : The number of threads to be used by the example during execution.
- * --target : Execution target to be used by the examples. Supported target options: Neon, CL, GC.
+ * --target : Execution target to be used by the examples. Supported target options: Neon, CL.
* --type : Data type to be used by the examples. Supported data type options: QASYMM8, F16, F32.
* --layout : Data layout to be used by the examples. Supported data layout options : NCHW, NHWC.
* --enable-tuner : Toggle option to enable the OpenCL dynamic tuner.
@@ -62,7 +62,6 @@ namespace utils
*
* Note that data, image and labels options should be provided to perform an inference run on an image.
* Note that validation-file and validation-path should be provided to perform a graph accuracy estimation.
- * Note GLES target is not supported for most of the networks.
*
* Example execution commands:
*
diff --git a/utils/GraphUtils.h b/utils/GraphUtils.h
index 056648451b..8764514d7e 100644
--- a/utils/GraphUtils.h
+++ b/utils/GraphUtils.h
@@ -679,15 +679,11 @@ inline TensorShape permute_shape(TensorShape tensor_shape, DataLayout in_data_la
*/
inline graph::Target set_target_hint(int target)
{
- ARM_COMPUTE_ERROR_ON_MSG(target > 3, "Invalid target. Target must be 0 (NEON), 1 (OpenCL), 2 (OpenCL + Tuner), 3 (GLES)");
+ ARM_COMPUTE_ERROR_ON_MSG(target > 2, "Invalid target. Target must be 0 (NEON), 1 (OpenCL), 2 (OpenCL + Tuner)");
if((target == 1 || target == 2))
{
return graph::Target::CL;
}
- else if(target == 3)
- {
- return graph::Target::GC;
- }
else
{
return graph::Target::NEON;
diff --git a/utils/ImageLoader.h b/utils/ImageLoader.h
index 5abcb7a60f..aab0f5e770 100644
--- a/utils/ImageLoader.h
+++ b/utils/ImageLoader.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018-2020 Arm Limited.
+ * Copyright (c) 2018-2021 Arm Limited.
*
* SPDX-License-Identifier: MIT
*
@@ -182,7 +182,7 @@ public:
ARM_COMPUTE_ERROR_ON(_feeder.get() == nullptr);
try
{
- // Map buffer if creating a CLTensor/GCTensor
+ // Map buffer if creating a CLTensor
map(image, true);
// Validate feeding data
@@ -238,7 +238,7 @@ public:
ARM_COMPUTE_ERROR("Unsupported format");
}
- // Unmap buffer if creating a CLTensor/GCTensor
+ // Unmap buffer if creating a CLTensor
unmap(image);
}
catch(const std::ifstream::failure &e)
diff --git a/utils/Utils.h b/utils/Utils.h
index f8c84851b5..e9fbc134b2 100644
--- a/utils/Utils.h
+++ b/utils/Utils.h
@@ -538,7 +538,7 @@ void save_to_ppm(T &tensor, const std::string &ppm_filename)
fs << "P6\n"
<< width << " " << height << " 255\n";
- // Map buffer if creating a CLTensor/GCTensor
+ // Map buffer if creating a CLTensor
map(tensor, true);
switch(tensor.info()->format())
@@ -581,7 +581,7 @@ void save_to_ppm(T &tensor, const std::string &ppm_filename)
ARM_COMPUTE_ERROR("Unsupported format");
}
- // Unmap buffer if creating a CLTensor/GCTensor
+ // Unmap buffer if creating a CLTensor
unmap(tensor);
}
catch(const std::ofstream::failure &e)
@@ -672,7 +672,7 @@ void load_trained_data(T &tensor, const std::string &filename)
throw std::runtime_error("Could not load binary data: " + filename);
}
- // Map buffer if creating a CLTensor/GCTensor
+ // Map buffer if creating a CLTensor
map(tensor, true);
Window window;
@@ -692,7 +692,7 @@ void load_trained_data(T &tensor, const std::string &filename)
},
in);
- // Unmap buffer if creating a CLTensor/GCTensor
+ // Unmap buffer if creating a CLTensor
unmap(tensor);
}
catch(const std::ofstream::failure &e)