13 #include <doctest/doctest.h> 18 using namespace armnn;
27 TEST_CASE(
"DefaultAllocatorTest")
35 auto customAllocator = std::make_shared<DefaultAllocator>();
40 unsigned int numElements = inputTensorInfo.GetNumElements();
41 size_t totalBytes = numElements *
sizeof(float);
45 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
46 std::fill_n(inputPtr, numElements, number);
47 CHECK(inputPtr[0] == 3);
53 TEST_CASE(
"DefaultAllocatorTestMulti")
61 auto customAllocator = std::make_shared<DefaultAllocator>();
66 unsigned int numElements = inputTensorInfo.GetNumElements();
67 size_t totalBytes = numElements *
sizeof(float);
72 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
73 std::fill_n(inputPtr, numElements, number);
74 CHECK(inputPtr[0] == 3);
75 CHECK(inputPtr[1] == 3);
77 auto* inputPtr2 =
reinterpret_cast<float*
>(alignedInputPtr2);
78 std::fill_n(inputPtr2, numElements, number);
79 CHECK(inputPtr2[0] == 3);
80 CHECK(inputPtr2[1] == 3);
83 CHECK(inputPtr[0] == 3);
84 CHECK(inputPtr[1] == 3);
90 TEST_CASE(
"DefaultAllocatorTestMock")
100 auto backend = factoryFun();
101 auto defaultAllocator = backend->GetDefaultAllocator();
106 size_t totalBytes = 1 *
sizeof(float);
108 void* ptr = defaultAllocator->allocate(totalBytes, 0);
111 CHECK(defaultAllocator->GetMemoryRegionAtOffset(ptr, 0, 0));
114 defaultAllocator->free(ptr);
118 backendRegistry.Deregister(
MockBackend().GetIdStatic());
128 TEST_CASE(
"ClDefaultAllocatorTest")
136 auto customAllocator = std::make_shared<ClBackendDefaultAllocator>();
141 unsigned int numElements = inputTensorInfo.GetNumElements();
142 size_t totalBytes = numElements *
sizeof(float);
146 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
147 std::fill_n(inputPtr, numElements, number);
148 CHECK(inputPtr[0] == 3);
154 TEST_CASE(
"ClDefaultAllocatorTestMulti")
162 auto customAllocator = std::make_shared<ClBackendDefaultAllocator>();
167 unsigned int numElements = inputTensorInfo.GetNumElements();
168 size_t totalBytes = numElements *
sizeof(float);
173 auto* inputPtr =
reinterpret_cast<float*
>(alignedInputPtr);
174 std::fill_n(inputPtr, numElements, number);
175 CHECK(inputPtr[0] == 3);
176 CHECK(inputPtr[1] == 3);
178 auto* inputPtr2 =
reinterpret_cast<float*
>(alignedInputPtr2);
179 std::fill_n(inputPtr2, numElements, number);
180 CHECK(inputPtr2[0] == 3);
181 CHECK(inputPtr2[1] == 3);
184 CHECK(inputPtr[0] == 3);
185 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()