IVGCVSW-7880 Add check for FP16 backend support
* Check if preferred backends have FP16 support before enable fp16-turbo-mode
* Unit tests
* Replaced global gpuAccCapabilities with getter method construction
* Replaced deprecated function call in SL shim
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: If29b62b330ca8987de8acf6408db11daf25ca0b5
diff --git a/src/backends/cl/ClBackend.cpp b/src/backends/cl/ClBackend.cpp
index b018654..532892e 100644
--- a/src/backends/cl/ClBackend.cpp
+++ b/src/backends/cl/ClBackend.cpp
@@ -273,6 +273,23 @@
return std::make_unique<ClBackendDefaultAllocator>();
}
+BackendCapabilities ClBackend::GetCapabilities() const
+{
+ // add new capabilities here..
+ return BackendCapabilities ("GpuAcc",
+ {
+ {"NonConstWeights", true},
+ {"AsyncExecution", false},
+ {"ProtectedContentAllocation", true},
+ {"ConstantTensorsAsInputs", true},
+ {"PreImportIOTensors", false},
+ {"ExternallyManagedMemory", true},
+ {"MultiAxisPacking", false},
+ {"SingleAxisPacking", true},
+ {"HasFp16", arm_compute::CLKernelLibrary::get().fp16_supported()}
+ });
+}
+
OptimizationViews ClBackend::OptimizeSubgraphView(const SubgraphView& subgraph,
const ModelOptions& modelOptions) const
{