提交 ab2550c6 编写于 作者: Y Yi Wang

Update design

上级 b55df90d
...@@ -31,7 +31,7 @@ In `paddle/memory/memory.h` we have: ...@@ -31,7 +31,7 @@ In `paddle/memory/memory.h` we have:
namespace memory { namespace memory {
template <typename Place> void* Alloc(Place, size_t); template <typename Place> void* Alloc(Place, size_t);
template <typename Place> void Free(Place, void*); template <typename Place> void Free(Place, void*);
template <typename Place> void Used(Place); template <typename Place> size_t Used(Place);
} // namespace memory } // namespace memory
``` ```
...@@ -39,7 +39,7 @@ These function templates have specializations on either `platform::CPUPlace` or ...@@ -39,7 +39,7 @@ These function templates have specializations on either `platform::CPUPlace` or
```cpp ```cpp
template<> template<>
void Alloc<CPUPlace>(CPUPlace p, size_t size) { void* Alloc<CPUPlace>(CPUPlace p, size_t size) {
return GetCPUBuddyAllocator()->Alloc(size); return GetCPUBuddyAllocator()->Alloc(size);
} }
``` ```
...@@ -102,15 +102,11 @@ class BuddyAllocator { ...@@ -102,15 +102,11 @@ class BuddyAllocator {
}; };
``` ```
#### System Allocators Because BuddyAllocator has the meta-data of each block, it can trace the used memory -- record the amount returned by `Alloc` freed in `Free`. Instead, `CPUAllocator` and `GPUAllocator` doesn't know the size of freed memory block and cannot do the trace.
The `GPUAllocator` and `CPUAllocator` are calls *system allocators*. They work as the fallback allocators of `BuddyAllocator`. A system allocator holds information about a device, including the amount of memory has been allocated, so we can call
- `GPUAllocator::Used()` and #### System Allocators
- `CPUAllocator::Used()`
to get the amount of memory that has been allocated so far.
The `GPUAllocator` and `CPUAllocator` are calls *system allocators*. They work as the fallback allocators of `BuddyAllocator`.
## Justification ## Justification
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册