ONE icon indicating copy to clipboard operation
ONE copied to clipboard

[onert] Introduce unified/single memory manager

Open YongseopKim opened this issue 4 years ago • 1 comments

Current onert has a memory manager per an backend. This task introduces a single unified memory manager for all backends. This enables onert to make its own interface easy

Problems

  • On arm arch, it doesn't seem to be not easy because of opencl memory concept. It should be invested more.
    • Therefore, it could be two memory pool for cpu and gpu.
  • If each backend should own memory allocator?
    • While ruy has own memory allocator, xnnpack can take others' memory allocator.

In the future,

  • Could use the better memory allocator like tcmalloc
  • Could make onert to support memory bound feature.

References

When https://github.com/Samsung/ONE/issues/5006 is done, this task would start.

YongseopKim avatar Nov 17 '20 09:11 YongseopKim

FYI, related article and paper.

  • Optimizing TensorFlow Lite Runtime Memory : https://blog.tensorflow.org/2020/10/optimizing-tensorflow-lite-runtime.html
  • Efficient Memory Management for Deep Neural Net Inference : https://arxiv.org/abs/2001.03288

periannath avatar Nov 17 '20 10:11 periannath