|
|
@ -43,6 +43,8 @@ class CPUAllocator : public SystemAllocator {
|
|
|
|
#ifdef PADDLE_WITH_CUDA
|
|
|
|
#ifdef PADDLE_WITH_CUDA
|
|
|
|
class GPUAllocator : public SystemAllocator {
|
|
|
|
class GPUAllocator : public SystemAllocator {
|
|
|
|
public:
|
|
|
|
public:
|
|
|
|
|
|
|
|
explicit GPUAllocator(int gpu_id) : gpu_id_(gpu_id) {}
|
|
|
|
|
|
|
|
|
|
|
|
virtual void* Alloc(size_t& index, size_t size);
|
|
|
|
virtual void* Alloc(size_t& index, size_t size);
|
|
|
|
virtual void Free(void* p, size_t size, size_t index);
|
|
|
|
virtual void Free(void* p, size_t size, size_t index);
|
|
|
|
virtual bool UseGpu() const;
|
|
|
|
virtual bool UseGpu() const;
|
|
|
@ -50,6 +52,7 @@ class GPUAllocator : public SystemAllocator {
|
|
|
|
private:
|
|
|
|
private:
|
|
|
|
size_t gpu_alloc_size_ = 0;
|
|
|
|
size_t gpu_alloc_size_ = 0;
|
|
|
|
size_t fallback_alloc_size_ = 0;
|
|
|
|
size_t fallback_alloc_size_ = 0;
|
|
|
|
|
|
|
|
int gpu_id_;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|