具体来说, 对于单个网络层, 在 feed-forwad 过程中, 当得到该网络层的输出值后, 则网络层的输入激活值就没用了....当找出 SyncedMem-s 后, 即可将其分配到单个内存插槽(single memory slot)....在某些情况, 这些网络层是堆叠在一起以构建特定的结构. 由于会引入递归分享(recursive sharing, 一系列的 blobs 共享其激活值/梯度内存块), 导致问题更加棘手....union-find” (disjoint-set) data structure) 来使 memory multiloading 的实现更加干净和优雅.
memory multiloading 功能实现的文件在...具体来说, 在网络训练开始前, 运行一次 “dry-run” 来确定重用 blob 内存块的方式. 这是一个静态优化过程.