1 // Copyright (C) 2018-2019 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
4 // dnn_memory.cpp : memory manipulation routines
9 #include "dnn_memory.hpp"
12 void MemoryAssign(void **ptr_dest,
14 uint32_t num_bytes_needed,
15 uint32_t *ptr_num_bytes_used,
16 uint32_t num_memory_bytes,
18 if (*ptr_num_bytes_used + ALIGN(num_bytes_needed, 64) > num_memory_bytes) {
20 "Out of memory in %s (%d+ALIGN(%d)>%d)!\n",
27 uint8_t *ptr_bytes = reinterpret_cast<uint8_t *>(*ptr_memory);
28 *ptr_dest = *ptr_memory;
29 *ptr_memory = ptr_bytes + ALIGN(num_bytes_needed, 64);
30 *ptr_num_bytes_used += ALIGN(num_bytes_needed, 64);