IVGCVSW-6889 Seg fault running ExeNet with --bf16-turbo-mode on fpga
* Added case for Bf16 to switch and changed Assertion to Exception
so it shows up in Release build.
Signed-off-by: Francis Murtagh <francis.murtagh@arm.com>
Change-Id: I817260dc7b7667386c4aa734bea649383866a785
diff --git a/src/backends/cl/workloads/ClWorkloadUtils.hpp b/src/backends/cl/workloads/ClWorkloadUtils.hpp
index ebdd504..8f2fb48 100644
--- a/src/backends/cl/workloads/ClWorkloadUtils.hpp
+++ b/src/backends/cl/workloads/ClWorkloadUtils.hpp
@@ -1,9 +1,10 @@
//
-// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
+#include <BFloat16.hpp>
#include <Half.hpp>
#include <aclCommon/ArmComputeTensorUtils.hpp>
@@ -139,8 +140,12 @@
case DataType::Signed32:
CopyArmComputeClTensorData(clTensor, handle->GetConstTensor<int32_t>());
break;
+ case DataType::BFloat16:
+ CopyArmComputeClTensorData(clTensor, handle->GetConstTensor<armnn::BFloat16>());
+ break;
default:
- ARMNN_ASSERT_MSG(false, "Unexpected tensor type.");
+ // Throw exception; assertion not called in release build.
+ throw Exception("Unexpected tensor type during InitializeArmComputeClTensorData().");
}
};
diff --git a/src/backends/neon/workloads/NeonWorkloadUtils.hpp b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
index af32104..f9c3718 100644
--- a/src/backends/neon/workloads/NeonWorkloadUtils.hpp
+++ b/src/backends/neon/workloads/NeonWorkloadUtils.hpp
@@ -1,5 +1,5 @@
//
-// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
+// Copyright © 2022 Arm Ltd and Contributors. All rights reserved.
// SPDX-License-Identifier: MIT
//
#pragma once
@@ -83,8 +83,12 @@
case DataType::QSymmS16:
CopyArmComputeTensorData(tensor, handle->GetConstTensor<int16_t>());
break;
+ case DataType::BFloat16:
+ CopyArmComputeTensorData(tensor, handle->GetConstTensor<armnn::BFloat16>());
+ break;
default:
- ARMNN_ASSERT_MSG(false, "Unexpected tensor type.");
+ // Throw exception; assertion not called in release build.
+ throw Exception("Unexpected tensor type during InitializeArmComputeTensorData().");
}
};