14 #include <doctest/doctest.h> 19 using namespace armnn;
28 TEST_CASE(
"DefaultAllocatorTest")
36 auto customAllocator = std::make_shared<DefaultAllocator>();
41 unsigned int numElements = inputTensorInfo.GetNumElements();
42 size_t totalBytes = numElements *
sizeof(float);
46 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
47 std::fill_n(inputPtr, numElements, number);
48 CHECK(inputPtr[0] == 3);
54 TEST_CASE(
"DefaultAllocatorTestMulti")
62 auto customAllocator = std::make_shared<DefaultAllocator>();
67 unsigned int numElements = inputTensorInfo.GetNumElements();
68 size_t totalBytes = numElements *
sizeof(float);
73 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
74 std::fill_n(inputPtr, numElements, number);
75 CHECK(inputPtr[0] == 3);
76 CHECK(inputPtr[1] == 3);
78 auto* inputPtr2 =
reinterpret_cast<float*
>(alignedInputPtr2);
79 std::fill_n(inputPtr2, numElements, number);
80 CHECK(inputPtr2[0] == 3);
81 CHECK(inputPtr2[1] == 3);
84 CHECK(inputPtr[0] == 3);
85 CHECK(inputPtr[1] == 3);
91 TEST_CASE(
"DefaultAllocatorTestMock")
101 auto backend = factoryFun();
102 auto defaultAllocator = backend->GetDefaultAllocator();
107 size_t totalBytes = 1 *
sizeof(float);
109 void* ptr = defaultAllocator->allocate(totalBytes, 0);
112 CHECK(defaultAllocator->GetMemoryRegionAtOffset(ptr, 0, 0));
115 defaultAllocator->free(ptr);
119 backendRegistry.Deregister(
MockBackend().GetIdStatic());
129 TEST_CASE(
"ClDefaultAllocatorTest")
137 auto customAllocator = std::make_shared<ClBackendDefaultAllocator>();
142 unsigned int numElements = inputTensorInfo.GetNumElements();
143 size_t totalBytes = numElements *
sizeof(float);
147 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
148 std::fill_n(inputPtr, numElements, number);
149 CHECK(inputPtr[0] == 3);
155 TEST_CASE(
"ClDefaultAllocatorTestMulti")
163 auto customAllocator = std::make_shared<ClBackendDefaultAllocator>();
168 unsigned int numElements = inputTensorInfo.GetNumElements();
169 size_t totalBytes = numElements *
sizeof(float);
174 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
175 std::fill_n(inputPtr, numElements, number);
176 CHECK(inputPtr[0] == 3);
177 CHECK(inputPtr[1] == 3);
179 auto* inputPtr2 =
reinterpret_cast<float*
>(alignedInputPtr2);
180 std::fill_n(inputPtr2, numElements, number);
181 CHECK(inputPtr2[0] == 3);
182 CHECK(inputPtr2[1] == 3);
185 CHECK(inputPtr[0] == 3);
186 CHECK(inputPtr[1] == 3);
TEST_SUITE("TestConstTensorLayerVisitor")
static IRuntimePtr Create(const CreationOptions &options)
FactoryFunction GetFactory(const BackendId &id) const
std::unique_ptr< IRuntime, void(*)(IRuntime *runtime)> IRuntimePtr
BackendRegistry & BackendRegistryInstance()
Copyright (c) 2021 ARM Limited and Contributors.
std::map< BackendId, std::shared_ptr< ICustomAllocator > > m_CustomAllocatorMap
A map to define a custom memory allocator for specific backend Ids.
#define ARMNN_ASSERT(COND)
static const BackendId & GetIdStatic()