原文地址:https://deepreve.github.io/articles/20161007.html
TensorFlow的内存分配器实现了一个叫做best-fitwith coalescing(BFC)的算法,它本质上是Doug Lea's malloc(dlmalloc)的一个非常简单的版本。
目录
1 结构
1.1 Chunk
1.2 Bin
1.3 AllocationRegion
1.4 RegionManager
2 分配内存
2.1 调整大小
2.2 查找
2.2.1 查找Bin
2.2.2 查找Chunk
2.2.3 扩展内存
2.3 分配失败
3 回收内存
3.1 获取ChunkHandle
3.2 更新状态
3.3 合并Chunk
3.3.1 合并直接后继
3.3.2 合并直接前趋
3.3.3 插入Bin