aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/workloads
diff options
context:
space:
mode:
authorMatthew Jackson <matthew.jackson@arm.com>2019-09-11 09:19:18 +0100
committerMatthew Jackson <matthew.jackson@arm.com>2019-09-11 10:49:25 +0000
commit252df3a8b6bbf70a21f81d1bf239d08f8b09086f (patch)
tree6e6eaf6814d71ca61c9bd700d4c1757ff671c292 /src/backends/reference/workloads
parent0cfcf235c4bcd2ae570eea8bc2677f471281b8e6 (diff)
downloadarmnn-252df3a8b6bbf70a21f81d1bf239d08f8b09086f.tar.gz
IVGCVSW-3845 Add Reference FP16 support for required layers
* Working on layers required by FSRCNN, FCRN and DeepSpeaker * Updates RefLayerSupport and RefWorkloadFactory methods * Adds RefPadFloat16Workload * Tested by successful execution of these networks on Reference FP16 backend Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I4817dca0a89bba6902f0feffc494b27a26a0ab2d
Diffstat (limited to 'src/backends/reference/workloads')
-rw-r--r--src/backends/reference/workloads/Pad.cpp6
-rw-r--r--src/backends/reference/workloads/RefPadWorkload.cpp1
-rw-r--r--src/backends/reference/workloads/RefPadWorkload.hpp5
3 files changed, 10 insertions, 2 deletions
diff --git a/src/backends/reference/workloads/Pad.cpp b/src/backends/reference/workloads/Pad.cpp
index 5773cac6a8..42291b8661 100644
--- a/src/backends/reference/workloads/Pad.cpp
+++ b/src/backends/reference/workloads/Pad.cpp
@@ -158,6 +158,12 @@ template void Pad<float>(const TensorInfo& inputInfo,
const float* inputData,
float* outData,
const float padValue);
+template void Pad<Half>(const TensorInfo& inputInfo,
+ const TensorInfo& outputInfo,
+ std::vector<std::pair<unsigned int, unsigned int>> m_PadList,
+ const Half* inputData,
+ Half* outData,
+ const float padValue);
template void Pad<uint8_t>(const TensorInfo& inputInfo,
const TensorInfo& outputInfo,
std::vector<std::pair<unsigned int, unsigned int>> m_PadList,
diff --git a/src/backends/reference/workloads/RefPadWorkload.cpp b/src/backends/reference/workloads/RefPadWorkload.cpp
index 5e59d83dc9..c4b9daeb4c 100644
--- a/src/backends/reference/workloads/RefPadWorkload.cpp
+++ b/src/backends/reference/workloads/RefPadWorkload.cpp
@@ -34,6 +34,7 @@ void RefPadWorkload<DataType>::Execute() const
}
template class RefPadWorkload<DataType::Float32>;
+template class RefPadWorkload<DataType::Float16>;
template class RefPadWorkload<DataType::QuantisedAsymm8>;
template class RefPadWorkload<DataType::QuantisedSymm16>;
diff --git a/src/backends/reference/workloads/RefPadWorkload.hpp b/src/backends/reference/workloads/RefPadWorkload.hpp
index b1de53e930..d1521f4f8d 100644
--- a/src/backends/reference/workloads/RefPadWorkload.hpp
+++ b/src/backends/reference/workloads/RefPadWorkload.hpp
@@ -31,7 +31,8 @@ public:
};
using RefPadFloat32Workload = RefPadWorkload<DataType::Float32>;
-using RefPadQAsymm8Workload = RefPadWorkload<DataType::QuantisedAsymm8>;
-using RefPadQSymm16Workload = RefPadWorkload<DataType::QuantisedSymm16>;
+using RefPadFloat16Workload = RefPadWorkload<DataType::Float16>;
+using RefPadQAsymm8Workload = RefPadWorkload<DataType::QuantisedAsymm8>;
+using RefPadQSymm16Workload = RefPadWorkload<DataType::QuantisedSymm16>;
} //namespace armnn