aboutsummaryrefslogtreecommitdiff
path: root/src/backends
diff options
context:
space:
mode:
authorDavid Beck <david.beck@arm.com>2018-10-04 15:43:17 +0100
committerMatthew Bentham <matthew.bentham@arm.com>2018-10-10 16:16:58 +0100
commit5eec11db435a94ba5046ba74edc5c9c412a64e9d (patch)
tree6a3d9b9126ae449fc5e83838b2eb1765a67d6aad /src/backends
parentd806792f7fbdae2cfa8dcb1eb59b9400b84741da (diff)
downloadarmnn-5eec11db435a94ba5046ba74edc5c9c412a64e9d.tar.gz
IVGCVSW-1964 : replace optional biases with home-grown Optional
!android-nn-driver:151788 Change-Id: Ibdc41d09b8df05e7a0360dcb8a060860dfb1bd99
Diffstat (limited to 'src/backends')
-rw-r--r--src/backends/ILayerSupport.cpp4
-rw-r--r--src/backends/WorkloadFactory.cpp12
-rw-r--r--src/backends/cl/ClLayerSupport.cpp4
-rw-r--r--src/backends/cl/ClLayerSupport.hpp6
-rw-r--r--src/backends/cl/workloads/ClConvolution2dWorkload.cpp6
-rw-r--r--src/backends/cl/workloads/ClConvolution2dWorkload.hpp4
-rw-r--r--src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.cpp6
-rw-r--r--src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.hpp3
-rw-r--r--src/backends/neon/NeonLayerSupport.cpp4
-rw-r--r--src/backends/neon/NeonLayerSupport.hpp6
-rw-r--r--src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp6
-rw-r--r--src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp4
-rw-r--r--src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.cpp6
-rw-r--r--src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp4
-rw-r--r--src/backends/reference/RefLayerSupport.cpp4
-rw-r--r--src/backends/reference/RefLayerSupport.hpp7
16 files changed, 36 insertions, 50 deletions
diff --git a/src/backends/ILayerSupport.cpp b/src/backends/ILayerSupport.cpp
index c0446e93ba..ff4b80d22b 100644
--- a/src/backends/ILayerSupport.cpp
+++ b/src/backends/ILayerSupport.cpp
@@ -89,7 +89,7 @@ bool ILayerSupport::IsConvolution2dSupported(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
char* reasonIfUnsupported,
size_t reasonIfUnsupportedMaxLength) const
{
@@ -100,7 +100,7 @@ bool ILayerSupport::IsDepthwiseConvolutionSupported(const TensorInfo& input,
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
char* reasonIfUnsupported,
size_t reasonIfUnsupportedMaxLength) const
{
diff --git a/src/backends/WorkloadFactory.cpp b/src/backends/WorkloadFactory.cpp
index dc9c1bc624..05919d6d95 100644
--- a/src/backends/WorkloadFactory.cpp
+++ b/src/backends/WorkloadFactory.cpp
@@ -144,11 +144,11 @@ bool IWorkloadFactory::IsLayerSupported(Compute compute,
const Convolution2dDescriptor& descriptor = cLayer->GetParameters();
// Construct optional biases object based on the value of m_BiasEnabled
- boost::optional<TensorInfo> biases(boost::none);
+ Optional<TensorInfo> biases;
if (descriptor.m_BiasEnabled)
{
- biases = boost::make_optional(
- OverrideDataType(cLayer->m_Bias->GetTensorInfo(), GetBiasTypeFromWeightsType(dataType)));
+ biases =
+ OverrideDataType(cLayer->m_Bias->GetTensorInfo(), GetBiasTypeFromWeightsType(dataType));
}
result = IsConvolution2dSupported(compute,
@@ -181,11 +181,11 @@ bool IWorkloadFactory::IsLayerSupported(Compute compute,
const DepthwiseConvolution2dDescriptor& descriptor = cLayer->GetParameters();
// Construct optional biases object based on the value of m_BiasEnabled
- boost::optional<TensorInfo> biases(boost::none);
+ Optional<TensorInfo> biases;
if (descriptor.m_BiasEnabled)
{
- biases = boost::make_optional(
- OverrideDataType(cLayer->m_Bias->GetTensorInfo(), GetBiasTypeFromWeightsType(dataType)));
+ biases =
+ OverrideDataType(cLayer->m_Bias->GetTensorInfo(), GetBiasTypeFromWeightsType(dataType));
}
result = IsDepthwiseConvolutionSupported(compute,
diff --git a/src/backends/cl/ClLayerSupport.cpp b/src/backends/cl/ClLayerSupport.cpp
index e23c70ec30..09dfab9924 100644
--- a/src/backends/cl/ClLayerSupport.cpp
+++ b/src/backends/cl/ClLayerSupport.cpp
@@ -212,7 +212,7 @@ bool IsConvolution2dSupportedCl(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported)
{
FORWARD_WORKLOAD_VALIDATE_FUNC(ClConvolution2dWorkloadValidate,
@@ -228,7 +228,7 @@ bool IsDepthwiseConvolutionSupportedCl(const TensorInfo& input,
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported)
{
FORWARD_WORKLOAD_VALIDATE_FUNC(ClDepthwiseConvolutionWorkloadValidate,
diff --git a/src/backends/cl/ClLayerSupport.hpp b/src/backends/cl/ClLayerSupport.hpp
index 80e8488b3b..314ac4c73f 100644
--- a/src/backends/cl/ClLayerSupport.hpp
+++ b/src/backends/cl/ClLayerSupport.hpp
@@ -9,8 +9,6 @@
#include <armnn/Tensor.hpp>
#include <armnn/ArmNN.hpp>
-#include <boost/optional.hpp>
-
namespace armnn
{
@@ -50,14 +48,14 @@ bool IsConvolution2dSupportedCl(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported = nullptr);
bool IsDepthwiseConvolutionSupportedCl(const TensorInfo& input,
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported = nullptr);
bool IsDivisionSupportedCl(const TensorInfo& input0,
diff --git a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
index 521711becc..301859ee1b 100644
--- a/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
+++ b/src/backends/cl/workloads/ClConvolution2dWorkload.cpp
@@ -24,7 +24,7 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases)
+ const Optional<TensorInfo>& biases)
{
const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input, descriptor.m_DataLayout);
const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output, descriptor.m_DataLayout);
@@ -35,9 +35,9 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input,
if (descriptor.m_BiasEnabled)
{
- BOOST_ASSERT(biases.is_initialized());
+ BOOST_ASSERT(biases.has_value());
- aclBiasesInfo = BuildArmComputeTensorInfo(biases.get(), descriptor.m_DataLayout);
+ aclBiasesInfo = BuildArmComputeTensorInfo(biases.value(), descriptor.m_DataLayout);
optionalAclBiasesInfo = &aclBiasesInfo;
}
diff --git a/src/backends/cl/workloads/ClConvolution2dWorkload.hpp b/src/backends/cl/workloads/ClConvolution2dWorkload.hpp
index 14a39f3b25..a5de87639b 100644
--- a/src/backends/cl/workloads/ClConvolution2dWorkload.hpp
+++ b/src/backends/cl/workloads/ClConvolution2dWorkload.hpp
@@ -13,8 +13,6 @@
#include <arm_compute/runtime/CL/functions/CLConvolutionLayer.h>
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
-#include <boost/optional.hpp>
-
#include <memory>
namespace armnn
@@ -24,7 +22,7 @@ arm_compute::Status ClConvolution2dWorkloadValidate(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases);
+ const Optional<TensorInfo>& biases);
class ClConvolution2dWorkload : public BaseWorkload<Convolution2dQueueDescriptor>
{
diff --git a/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.cpp b/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.cpp
index 5a036db922..53ac3bae99 100644
--- a/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.cpp
+++ b/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.cpp
@@ -21,7 +21,7 @@ arm_compute::Status ClDepthwiseConvolutionWorkloadValidate(const TensorInfo& inp
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases)
+ const Optional<TensorInfo>& biases)
{
const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input, descriptor.m_DataLayout);
const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output, descriptor.m_DataLayout);
@@ -32,9 +32,9 @@ arm_compute::Status ClDepthwiseConvolutionWorkloadValidate(const TensorInfo& inp
if (descriptor.m_BiasEnabled)
{
- BOOST_ASSERT(biases.is_initialized());
+ BOOST_ASSERT(biases.has_value());
- aclBiasesInfo = BuildArmComputeTensorInfo(biases.get(), descriptor.m_DataLayout);
+ aclBiasesInfo = BuildArmComputeTensorInfo(biases.value(), descriptor.m_DataLayout);
optionalAclBiasesInfo = &aclBiasesInfo;
}
diff --git a/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.hpp b/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.hpp
index 9d5cde30b6..27aec8ecdd 100644
--- a/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.hpp
+++ b/src/backends/cl/workloads/ClDepthwiseConvolutionBaseWorkload.hpp
@@ -6,7 +6,6 @@
#pragma once
#include <backends/Workload.hpp>
-#include <boost/optional.hpp>
#include <arm_compute/runtime/CL/CLFunctions.h>
@@ -17,7 +16,7 @@ arm_compute::Status ClDepthwiseConvolutionWorkloadValidate(const TensorInfo& inp
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases);
+ const Optional<TensorInfo>& biases);
template<armnn::DataType... dataTypes>
class ClDepthwiseConvolutionBaseWorkload : public TypedWorkload<DepthwiseConvolution2dQueueDescriptor, dataTypes...>
diff --git a/src/backends/neon/NeonLayerSupport.cpp b/src/backends/neon/NeonLayerSupport.cpp
index bc1f96be3f..ef70fbd370 100644
--- a/src/backends/neon/NeonLayerSupport.cpp
+++ b/src/backends/neon/NeonLayerSupport.cpp
@@ -198,7 +198,7 @@ bool IsConvolution2dSupportedNeon(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported)
{
FORWARD_WORKLOAD_VALIDATE_FUNC(NeonConvolution2dWorkloadValidate,
@@ -214,7 +214,7 @@ bool IsDepthwiseConvolutionSupportedNeon(const TensorInfo& input,
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported)
{
FORWARD_WORKLOAD_VALIDATE_FUNC(NeonDepthwiseConvolutionWorkloadValidate,
diff --git a/src/backends/neon/NeonLayerSupport.hpp b/src/backends/neon/NeonLayerSupport.hpp
index 439c45f59e..8b674c6460 100644
--- a/src/backends/neon/NeonLayerSupport.hpp
+++ b/src/backends/neon/NeonLayerSupport.hpp
@@ -8,8 +8,6 @@
#include <armnn/Types.hpp>
#include <armnn/Tensor.hpp>
-#include <boost/optional.hpp>
-
namespace armnn
{
@@ -53,7 +51,7 @@ bool IsConvolution2dSupportedNeon(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported = nullptr);
@@ -61,7 +59,7 @@ bool IsDepthwiseConvolutionSupportedNeon(const TensorInfo& input,
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported = nullptr);
bool IsDivisionSupportedNeon(const TensorInfo& input0,
diff --git a/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp
index 02edabfd9c..8da3e47249 100644
--- a/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp
+++ b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.cpp
@@ -21,7 +21,7 @@ arm_compute::Status NeonConvolution2dWorkloadValidate(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases)
+ const Optional<TensorInfo>& biases)
{
const arm_compute::TensorInfo aclInputInfo = BuildArmComputeTensorInfo(input, descriptor.m_DataLayout);
const arm_compute::TensorInfo aclOutputInfo = BuildArmComputeTensorInfo(output, descriptor.m_DataLayout);
@@ -32,9 +32,9 @@ arm_compute::Status NeonConvolution2dWorkloadValidate(const TensorInfo& input,
if (descriptor.m_BiasEnabled)
{
- BOOST_ASSERT(biases.is_initialized());
+ BOOST_ASSERT(biases.has_value());
- aclBiasesInfo = BuildArmComputeTensorInfo(biases.get(), descriptor.m_DataLayout);
+ aclBiasesInfo = BuildArmComputeTensorInfo(biases.value(), descriptor.m_DataLayout);
optionalAclBiasesInfo = &aclBiasesInfo;
}
diff --git a/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp
index 6af89c1f01..1cd30c70f9 100644
--- a/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp
+++ b/src/backends/neon/workloads/NeonConvolution2dBaseWorkload.hpp
@@ -13,8 +13,6 @@
#include <arm_compute/runtime/MemoryManagerOnDemand.h>
-#include <boost/optional.hpp>
-
#include <memory>
namespace armnn
@@ -24,7 +22,7 @@ arm_compute::Status NeonConvolution2dWorkloadValidate(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases);
+ const Optional<TensorInfo>& biases);
template<armnn::DataType... dataTypes>
class NeonConvolution2dBaseWorkload : public TypedWorkload<Convolution2dQueueDescriptor, dataTypes...>
diff --git a/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.cpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.cpp
index ef60b3238d..aa535adec9 100644
--- a/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.cpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.cpp
@@ -14,7 +14,7 @@ arm_compute::Status NeonDepthwiseConvolutionWorkloadValidate(const TensorInfo& i
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases)
+ const Optional<TensorInfo>& biases)
{
const arm_compute::TensorInfo aclInputInfo =
armcomputetensorutils::BuildArmComputeTensorInfo(input, descriptor.m_DataLayout);
@@ -28,9 +28,9 @@ arm_compute::Status NeonDepthwiseConvolutionWorkloadValidate(const TensorInfo& i
if (descriptor.m_BiasEnabled)
{
- BOOST_ASSERT(biases.is_initialized());
+ BOOST_ASSERT(biases.has_value());
- aclBiasesInfo = armcomputetensorutils::BuildArmComputeTensorInfo(biases.get(), descriptor.m_DataLayout);
+ aclBiasesInfo = armcomputetensorutils::BuildArmComputeTensorInfo(biases.value(), descriptor.m_DataLayout);
optionalAclBiasesInfo = &aclBiasesInfo;
}
diff --git a/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp b/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp
index 982992a363..ffee50861a 100644
--- a/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp
+++ b/src/backends/neon/workloads/NeonDepthwiseConvolutionBaseWorkload.hpp
@@ -7,8 +7,6 @@
#include <backends/neon/workloads/NeonWorkloadUtils.hpp>
-#include <boost/optional.hpp>
-
namespace armnn
{
@@ -16,6 +14,6 @@ arm_compute::Status NeonDepthwiseConvolutionWorkloadValidate(const TensorInfo& i
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases);
+ const Optional<TensorInfo>& biases);
} // namespace armnn
diff --git a/src/backends/reference/RefLayerSupport.cpp b/src/backends/reference/RefLayerSupport.cpp
index 1ca3d5b6d6..a42efb748f 100644
--- a/src/backends/reference/RefLayerSupport.cpp
+++ b/src/backends/reference/RefLayerSupport.cpp
@@ -87,7 +87,7 @@ bool IsConvolution2dSupportedRef(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported)
{
ignore_unused(descriptor);
@@ -104,7 +104,7 @@ bool IsDepthwiseConvolutionSupportedRef(const TensorInfo& input,
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported)
{
ignore_unused(output);
diff --git a/src/backends/reference/RefLayerSupport.hpp b/src/backends/reference/RefLayerSupport.hpp
index 0fac886234..dcc5dd3ddf 100644
--- a/src/backends/reference/RefLayerSupport.hpp
+++ b/src/backends/reference/RefLayerSupport.hpp
@@ -8,9 +8,6 @@
#include <armnn/Types.hpp>
#include <armnn/Tensor.hpp>
#include <layers/LstmLayer.hpp>
-#include <boost/optional.hpp>
-
-#include <boost/optional.hpp>
namespace armnn
{
@@ -46,14 +43,14 @@ bool IsConvolution2dSupportedRef(const TensorInfo& input,
const TensorInfo& output,
const Convolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported = nullptr);
bool IsDepthwiseConvolutionSupportedRef(const TensorInfo& input,
const TensorInfo& output,
const DepthwiseConvolution2dDescriptor& descriptor,
const TensorInfo& weights,
- const boost::optional<TensorInfo>& biases,
+ const Optional<TensorInfo>& biases,
std::string* reasonIfUnsupported = nullptr);
bool IsDivisionSupportedRef(const TensorInfo& input0,