aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJan Eilers <jan.eilers@arm.com>2021-10-26 14:56:47 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2021-10-29 10:20:16 +0000
commitb1c62f11881e0d528bea5b3664a8f36e4c03b508 (patch)
tree970be1e2fde222603fa3aa05c87b22cb30035be2 /include
parent05eccac1433a6637ef09bb30811c8c842116456d (diff)
downloadarmnn-b1c62f11881e0d528bea5b3664a8f36e4c03b508.tar.gz
Fix armnn_external_delegate option parsing
* Fixed the mechanism in armnn_delegate.cpp which creates the runtime options by moving it to DelegateOptions. BackendOptions are used in the runtime options as well as in the optimizer options but need to be processed separately. * Added runtime options to DelegateOptions to make it easier to differ between backend options of the runtime and the optimization * Updated armnn_external_delegate to use runtime options * Added explanations to OptimizerOptions Signed-off-by: Jan Eilers <jan.eilers@arm.com> Change-Id: I34235474147def261821e4576dd41a83ad492258
Diffstat (limited to 'include')
-rw-r--r--include/armnn/INetwork.hpp14
-rw-r--r--include/armnn/IRuntime.hpp8
-rw-r--r--include/armnn/Types.hpp2
3 files changed, 21 insertions, 3 deletions
diff --git a/include/armnn/INetwork.hpp b/include/armnn/INetwork.hpp
index f85b29ee81..a79afead95 100644
--- a/include/armnn/INetwork.hpp
+++ b/include/armnn/INetwork.hpp
@@ -115,6 +115,8 @@ protected:
};
+/// ArmNN performs an optimization on each model/network before it gets loaded for execution. OptimizerOptions provides
+/// a set of features that allows the user to customize this optimization on a per model basis.
struct OptimizerOptions
{
OptimizerOptions()
@@ -160,13 +162,21 @@ struct OptimizerOptions
}
}
- // Reduce Fp32 data to Fp16 for faster processing
+ /// Reduces all Fp32 operators in the model to Fp16 for faster processing.
+ /// @Note This feature works best if all operators of the model are in Fp32. ArmNN will add conversion layers
+ /// between layers that weren't in Fp32 in the first place or if the operator is not supported in Fp16.
+ /// The overhead of these conversions can lead to a slower overall performance if too many conversions are
+ /// required.
bool m_ReduceFp32ToFp16;
// Add debug data for easier troubleshooting
bool m_Debug;
- // Reduce Fp32 data to Bf16 for faster processing
+ /// Reduces all Fp32 operators in the model to Bf16 for faster processing.
+ /// @Note This feature works best if all operators of the model are in Fp32. ArmNN will add conversion layers
+ /// between layers that weren't in Fp32 in the first place or if the operator is not supported in Bf16.
+ /// The overhead of these conversions can lead to a slower overall performance if too many conversions are
+ /// required.
bool m_ReduceFp32ToBf16;
// Infer output size when not available
diff --git a/include/armnn/IRuntime.hpp b/include/armnn/IRuntime.hpp
index b89cfd72cd..93f8b0fd5b 100644
--- a/include/armnn/IRuntime.hpp
+++ b/include/armnn/IRuntime.hpp
@@ -119,6 +119,7 @@ public:
/// Setting this value will override the paths set by the DYNAMIC_BACKEND_PATHS compiler directive
/// Only a single path is allowed for the override
+ /// It defines the path to search for any [dynamic backend libraries](src/dynamic/README.md).
std::string m_DynamicBackendsPath;
/// Setting this flag will allow the user to create the Runtime in protected mode.
@@ -158,12 +159,19 @@ public:
, m_LocalPacketHandlers()
{}
+ /// Indicates whether external profiling is enabled or not.
bool m_EnableProfiling;
+ /// Indicates whether external timeline profiling is enabled or not.
bool m_TimelineEnabled;
+ /// Path to a file in which outgoing timeline profiling messages will be stored.
std::string m_OutgoingCaptureFile;
+ /// Path to a file in which incoming timeline profiling messages will be stored.
std::string m_IncomingCaptureFile;
+ /// Enable profiling output to file only.
bool m_FileOnly;
+ /// The duration at which captured profiling messages will be flushed.
uint32_t m_CapturePeriod;
+ /// The format of the file used for outputting profiling data.
std::string m_FileFormat;
std::vector<armnn::profiling::ILocalPacketHandlerSharedPtr> m_LocalPacketHandlers;
};
diff --git a/include/armnn/Types.hpp b/include/armnn/Types.hpp
index deaa0b3a50..f61a1fdca8 100644
--- a/include/armnn/Types.hpp
+++ b/include/armnn/Types.hpp
@@ -201,7 +201,7 @@ enum class OutputShapeRounding
/// The ShapeInferenceMethod modify how the output shapes are treated.
/// When ValidateOnly is selected, the output shapes are inferred from the input parameters of the layer
/// and any mismatch is reported.
-/// When InferAndValidate is selected 2 actions must be performed: (1)infer output shape from inputs and (2)validate the
+/// When InferAndValidate is selected 2 actions are performed: (1)infer output shape from inputs and (2)validate the
/// shapes as in ValidateOnly. This option has been added to work with tensors which rank or dimension sizes are not
/// specified explicitly, however this information can be calculated from the inputs.
///