Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Crayon鑫
Paddle
提交
29c7512b
P
Paddle
项目概览
Crayon鑫
/
Paddle
与 Fork 源项目一致
Fork自
PaddlePaddle / Paddle
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Paddle
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
29c7512b
编写于
6月 28, 2017
作者:
L
liaogang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
FIX: fix memory.h/cc
上级
dde0da9e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
13 deletion
+18
-13
paddle/memory/memory.cc
paddle/memory/memory.cc
+14
-9
paddle/memory/memory.h
paddle/memory/memory.h
+4
-4
未找到文件。
paddle/memory/memory.cc
浏览文件 @
29c7512b
...
@@ -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
...
...
paddle/memory/memory.h
浏览文件 @
29c7512b
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录