diff options
author | Louis Verhaard <louis.verhaard@arm.com> | 2020-12-03 12:26:25 +0100 |
---|---|---|
committer | Louis Verhaard <louis.verhaard@arm.com> | 2020-12-11 12:24:25 +0100 |
commit | 9bfe0f86ea525055954b160a3c678024743030ec (patch) | |
tree | 384bac88fcc613abd357fbbf266ea30e34cbe526 /ethosu/tensor_allocator/test/test_tensor_allocator.py | |
parent | 93719a9b8c160de3acf047eacb9196f13167bddb (diff) | |
download | ethos-u-vela-9bfe0f86ea525055954b160a3c678024743030ec.tar.gz |
MLBEDSW-1373: Added search based allocator
Added a new tensor allocator that is based on searching,
implemented in C++ (C++11 compatible).
Change-Id: Ie96e9fcfc8e6c58d1fa53911f37de290eeba88cf
Signed-off-by: Louis Verhaard <louis.verhaard@arm.com>
Diffstat (limited to 'ethosu/tensor_allocator/test/test_tensor_allocator.py')
-rw-r--r-- | ethosu/tensor_allocator/test/test_tensor_allocator.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ethosu/tensor_allocator/test/test_tensor_allocator.py b/ethosu/tensor_allocator/test/test_tensor_allocator.py new file mode 100644 index 00000000..b9b547fc --- /dev/null +++ b/ethosu/tensor_allocator/test/test_tensor_allocator.py @@ -0,0 +1,30 @@ +# Copyright (C) 2020 Arm Limited or its affiliates. All rights reserved. +# +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the License); you may +# not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an AS IS BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Description: +# Unit tests for tensor_allocator. +from ethosu import tensor_allocator + + +def test_allocate(): + """Tests the search allocator""" + # Create an input that requires a search to produce a perfect allocation. + # Should result in size 16016 + lrs = [(0, 100, 8000), (0, 1, 8016), (100, 110, 2000), (108, 110, 4000), (109, 110, 6000)] + input = [x for lr in lrs for x in lr] + res = tensor_allocator.allocate(input, 0) + assert len(res) == len(lrs) + assert max(addr + lr[2] for addr, lr in zip(res, lrs)) == 16016 |