|
|
|
@ -32,12 +32,14 @@ class SystemAllocator {
|
|
|
|
|
virtual ~SystemAllocator() {}
|
|
|
|
|
virtual void* Alloc(size_t& index, size_t size) = 0;
|
|
|
|
|
virtual void Free(void* p, size_t size, size_t index) = 0;
|
|
|
|
|
virtual bool UseGpu() = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class CPUAllocator : public SystemAllocator {
|
|
|
|
|
public:
|
|
|
|
|
virtual void* Alloc(size_t& index, size_t size);
|
|
|
|
|
virtual void Free(void* p, size_t size, size_t index);
|
|
|
|
|
virtual bool UseGpu();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#ifndef PADDLE_ONLY_CPU
|
|
|
|
@ -45,7 +47,7 @@ class GPUAllocator : public SystemAllocator {
|
|
|
|
|
public:
|
|
|
|
|
virtual void* Alloc(size_t& index, size_t size);
|
|
|
|
|
virtual void Free(void* p, size_t size, size_t index);
|
|
|
|
|
|
|
|
|
|
virtual bool UseGpu();
|
|
|
|
|
private:
|
|
|
|
|
size_t gpu_alloc_size_ = 0;
|
|
|
|
|
size_t fallback_alloc_size_ = 0;
|
|
|
|
|