From 1c52a3863b0bdc9b474a7bc6caf8428ca0dec91a Mon Sep 17 00:00:00 2001 From: Narumol Prangnawarat Date: Thu, 13 Jan 2022 11:47:35 +0000 Subject: IVGCVSW-6676 Register CopyAndImportFactoryPairs to RefBackend and unit tests Signed-off-by: Narumol Prangnawarat Change-Id: I9d695418fe240b7115a1c624abcd459f1459301b --- src/backends/reference/RefBackend.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/backends/reference/RefBackend.cpp') diff --git a/src/backends/reference/RefBackend.cpp b/src/backends/reference/RefBackend.cpp index ad52434ef8..c38d6b6710 100644 --- a/src/backends/reference/RefBackend.cpp +++ b/src/backends/reference/RefBackend.cpp @@ -38,7 +38,12 @@ IBackendInternal::IWorkloadFactoryPtr RefBackend::CreateWorkloadFactory( auto memoryManager = std::make_shared(); tensorHandleFactoryRegistry.RegisterMemoryManager(memoryManager); - tensorHandleFactoryRegistry.RegisterFactory(std::make_unique(memoryManager)); + + std::unique_ptr factory = std::make_unique(memoryManager); + // Register copy and import factory pair + tensorHandleFactoryRegistry.RegisterCopyAndImportFactoryPair(factory->GetId(), factory->GetId()); + // Register the factory + tensorHandleFactoryRegistry.RegisterFactory(std::move(factory)); return std::make_unique(PolymorphicPointerDowncast(memoryManager)); } @@ -84,7 +89,13 @@ void RefBackend::RegisterTensorHandleFactories(class TensorHandleFactoryRegistry auto memoryManager = std::make_shared(); registry.RegisterMemoryManager(memoryManager); - registry.RegisterFactory(std::make_unique(memoryManager)); + + std::unique_ptr factory = std::make_unique(memoryManager); + + // Register copy and import factory pair + registry.RegisterCopyAndImportFactoryPair(factory->GetId(), factory->GetId()); + // Register the factory + registry.RegisterFactory(std::move(factory)); } std::unique_ptr RefBackend::GetDefaultAllocator() const -- cgit v1.2.1