提交 29c7512b 编写于 作者: L liaogang

FIX: fix memory.h/cc

上级 dde0da9e
...@@ -13,41 +13,46 @@ See the License for the specific language governing permissions and ...@@ -13,41 +13,46 @@ See the License for the specific language governing permissions and
limitations under the License. */ limitations under the License. */
#include "paddle/memory/memory.h" #include "paddle/memory/memory.h"
#include "paddle/memory/detail/buddy_allocator.h"
#include "paddle/memory/detail/system_allocator.h"
#include "paddle/platform/assert.h"
#include "paddle/memory/detail/cpu_allocator.h" #include <boost/variant.hpp>
#include "paddle/memory/detail/gpu_allocator.h"
namespace paddle { namespace paddle {
namespace memory { namespace memory {
void Alloc(paddle::platform::Place pl, size_t size) { void* Alloc(platform::Place pl, size_t size) {
#ifndef PADDLE_ONLY_CPU #ifndef PADDLE_ONLY_CPU
if (paddle::platform::is_gpu_place(pl)) { if (paddle::platform::is_gpu_place(pl)) {
return GetGPUBuddyAllocator(pl.device)->Alloc(size); size_t gpu_id = boost::get<platform::GPUPlace>(pl).device;
return detail::GetGPUBuddyAllocator(gpu_id)->Alloc(size);
} }
#endif // PADDLE_ONLY_CPU #endif // PADDLE_ONLY_CPU
PADDLE_ASSERT(paddle::platform::is_cpu_place(pl)); PADDLE_ASSERT(paddle::platform::is_cpu_place(pl));
return GetCPUBuddyAllocator()->Alloc(size); return detail::GetCPUBuddyAllocator()->Alloc(size);
} }
void Free(paddle::platform::Place pl, void* p) { void Free(paddle::platform::Place pl, void* p) {
#ifndef PADDLE_ONLY_CPU #ifndef PADDLE_ONLY_CPU
if (paddle::platform::is_gpu_place(pl)) { if (paddle::platform::is_gpu_place(pl)) {
GetGPUBuddyAllocator(pl.device)->Free(p); size_t gpu_id = boost::get<platform::GPUPlace>(pl).device;
detail::GetGPUBuddyAllocator(gpu_id)->Free(p);
} }
#endif // PADDLE_ONLY_CPU #endif // PADDLE_ONLY_CPU
PADDLE_ASSERT(paddle::platform::is_cpu_place(pl)); PADDLE_ASSERT(paddle::platform::is_cpu_place(pl));
GetCPUBuddyAllocator()->Free(p); detail::GetCPUBuddyAllocator()->Free(p);
} }
size_t Used(paddle::platform::Place pl) { size_t Used(paddle::platform::Place pl) {
#ifndef PADDLE_ONLY_CPU #ifndef PADDLE_ONLY_CPU
if (paddle::platform::is_gpu_place(pl)) { if (paddle::platform::is_gpu_place(pl)) {
return GetGPUBuddyAllocator(pl.device)->Used(); size_t gpu_id = boost::get<platform::GPUPlace>(pl).device;
return detail::GetGPUBuddyAllocator(gpu_id)->Used();
} }
#endif // PADDLE_ONLY_CPU #endif // PADDLE_ONLY_CPU
PADDLE_ASSERT(paddle::platform::is_cpu_place(pl)); PADDLE_ASSERT(paddle::platform::is_cpu_place(pl));
return GetCPUBuddyAllocator()->Used(); return detail::GetCPUBuddyAllocator()->Used();
} }
} // namespace memory } // namespace memory
......
...@@ -14,14 +14,14 @@ limitations under the License. */ ...@@ -14,14 +14,14 @@ limitations under the License. */
#pragma once #pragma once
#include "paddle/frameowork/place.h" #include "paddle/platform/place.h"
namespace paddle { namespace paddle {
namespace memory { namespace memory {
void* Alloc(paddle::framework::Place, size_t); void* Alloc(paddle::platform::Place, size_t);
void Free(paddle::framework::Place, void*); void Free(paddle::platform::Place, void*);
size_t Used(paddle::framework::Place); size_t Used(paddle::platform::Place);
} // namespace memory } // namespace memory
} // namespace paddle } // namespace paddle
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册