class memory_pool
{
memory_pool();
-
+
refcounted_obj_ptr<memory_impl> alloc_memory(const layout& layout);
static bool has_conflict(const memory_set&, const std::set<primitive_id>&, uint32_t);
uint64_t _max_peak_memory_used;
public:
memory_pool(engine_impl& engine);
-
+ ~memory_pool();
refcounted_obj_ptr<memory_impl> get_memory(const layout& layout, const primitive_id& id, uint32_t network_id, const std::set<primitive_id>& restrictions, bool reusable = true); // get from pool or create memory allocation
refcounted_obj_ptr<memory_impl> get_memory(const layout& layout);
refcounted_obj_ptr<memory_impl> get_from_non_padded_pool(const layout& layout, const primitive_id& id, uint32_t network_id, const std::set<primitive_id>&);