20  BufferCache(MTL::Device* 
device);
 
   23  MTL::Buffer* reuse_from_cache(
size_t size);
 
   24  void recycle_to_cache(MTL::Buffer* 
buf);
 
   25  void release_cached_buffers(
size_t min_bytes_to_free);
 
   34    BufferHolder(MTL::Buffer* buf_) : 
buf(buf_), 
prev(
nullptr), 
next(
nullptr) {}
 
   41  void add_at_head(BufferHolder* to_add);
 
   42  void remove_from_list(BufferHolder* to_remove);
 
   46  std::multimap<size_t, BufferHolder*> buffer_pool_;
 
   61    return active_memory_;
 
 
   67    std::unique_lock lk(mutex_);
 
 
   71    return buffer_cache_.cache_size();
 
 
   83  BufferCache buffer_cache_;
 
   88  size_t active_memory_{0};
 
   89  size_t peak_memory_{0};
 
   90  size_t max_pool_size_;
 
 
 
Definition allocator.h:39
 
Definition allocator.h:12