IVGCVSW-4979 Add GetTensorHandleFactory to WorkloadFactoryHelper(Ref/Ne/Cl)
authorTeresa Charlin <teresa.charlinreyes@arm.com>
Thu, 6 Aug 2020 10:30:46 +0000 (11:30 +0100)
committerTeresaARM <teresa.charlinreyes@arm.com>
Wed, 12 Aug 2020 15:35:52 +0000 (15:35 +0000)
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I7e4c752f396833e226d73c3569e195b796fbf482

src/backends/cl/test/ClWorkloadFactoryHelper.hpp
src/backends/neon/test/NeonWorkloadFactoryHelper.hpp
src/backends/reference/test/RefWorkloadFactoryHelper.hpp

index 6ea2f11..6e3c6fc 100644 (file)
@@ -1,5 +1,5 @@
 //
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 
@@ -12,6 +12,7 @@
 
 #include <cl/ClBackend.hpp>
 #include <cl/ClWorkloadFactory.hpp>
+#include <cl/ClTensorHandleFactory.hpp>
 
 namespace
 {
@@ -30,6 +31,13 @@ struct WorkloadFactoryHelper<armnn::ClWorkloadFactory>
     {
         return armnn::ClWorkloadFactory(armnn::PolymorphicPointerDowncast<armnn::ClMemoryManager>(memoryManager));
     }
+
+    static armnn::ClTensorHandleFactory GetTensorHandleFactory(
+            const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr)
+    {
+
+        return armnn::ClTensorHandleFactory(armnn::PolymorphicPointerDowncast<armnn::ClMemoryManager>(memoryManager));
+    }
 };
 
 using ClWorkloadFactoryHelper = WorkloadFactoryHelper<armnn::ClWorkloadFactory>;
index 8d92ddf..8715011 100644 (file)
@@ -1,5 +1,5 @@
 //
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 
@@ -12,6 +12,7 @@
 
 #include <neon/NeonBackend.hpp>
 #include <neon/NeonWorkloadFactory.hpp>
+#include "neon/NeonTensorHandleFactory.hpp"
 
 namespace
 {
@@ -31,6 +32,14 @@ struct WorkloadFactoryHelper<armnn::NeonWorkloadFactory>
         return armnn::NeonWorkloadFactory(
             armnn::PolymorphicPointerDowncast<armnn::NeonMemoryManager>(memoryManager));
     }
+
+    static armnn::NeonTensorHandleFactory GetTensorHandleFactory(
+            const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr)
+    {
+
+        return armnn::NeonTensorHandleFactory(
+            armnn::PolymorphicPointerDowncast<armnn::NeonMemoryManager>(memoryManager));
+    }
 };
 
 using NeonWorkloadFactoryHelper = WorkloadFactoryHelper<armnn::NeonWorkloadFactory>;
index 30d2037..e413d04 100644 (file)
@@ -1,5 +1,5 @@
 //
-// Copyright © 2017 Arm Ltd. All rights reserved.
+// Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
 // SPDX-License-Identifier: MIT
 //
 
@@ -9,6 +9,7 @@
 
 #include <reference/RefBackend.hpp>
 #include <reference/RefWorkloadFactory.hpp>
+#include "reference/RefTensorHandleFactory.hpp"
 
 namespace
 {
@@ -28,6 +29,13 @@ struct WorkloadFactoryHelper<armnn::RefWorkloadFactory>
         IgnoreUnused(memoryManager);
         return armnn::RefWorkloadFactory();
     }
+
+    static armnn::RefTensorHandleFactory GetTensorHandleFactory(
+            const armnn::IBackendInternal::IMemoryManagerSharedPtr& memoryManager = nullptr)
+    {
+
+        return armnn::RefTensorHandleFactory(std::static_pointer_cast<armnn::RefMemoryManager>(memoryManager));
+    }
 };
 
 using RefWorkloadFactoryHelper = WorkloadFactoryHelper<armnn::RefWorkloadFactory>;