Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
机器未来
Paddle
提交
6c09496a
P
Paddle
项目概览
机器未来
/
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看板
未验证
提交
6c09496a
编写于
7月 30, 2021
作者:
L
Leo Chen
提交者:
GitHub
7月 30, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[NPU] support npu config on aclinit (#34500)
上级
f775bfc1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
15 addition
and
1 deletion
+15
-1
paddle/fluid/platform/flags.cc
paddle/fluid/platform/flags.cc
+4
-0
paddle/fluid/platform/npu_info.cc
paddle/fluid/platform/npu_info.cc
+9
-1
paddle/testing/paddle_gtest_main.cc
paddle/testing/paddle_gtest_main.cc
+1
-0
python/paddle/fluid/__init__.py
python/paddle/fluid/__init__.py
+1
-0
未找到文件。
paddle/fluid/platform/flags.cc
浏览文件 @
6c09496a
...
...
@@ -93,6 +93,10 @@ DEFINE_string(selected_npus, "",
"This option is useful when doing multi process training and "
"each process have only one device (NPU). If you want to use "
"all visible devices, set this to empty string."
);
DEFINE_string
(
npu_config_path
,
""
,
"The absolute path of configuration json file, like: /tmp/config.json. "
"If proveided, it will be passed to aclInit()."
);
#endif
#if defined(PADDLE_WITH_CUDA) || defined(PADDLE_WITH_HIP)
...
...
paddle/fluid/platform/npu_info.cc
浏览文件 @
6c09496a
...
...
@@ -30,6 +30,7 @@ DECLARE_uint64(reallocate_gpu_memory_in_mb);
DECLARE_bool
(
enable_cublas_tensor_op_math
);
DECLARE_uint64
(
gpu_memory_limit_mb
);
DECLARE_string
(
selected_npus
);
DECLARE_string
(
npu_config_path
);
constexpr
static
float
fraction_reserve_gpu_memory
=
0.05
f
;
...
...
@@ -385,7 +386,14 @@ AclInstance &AclInstance::Instance() {
}
AclInstance
::
AclInstance
()
{
PADDLE_ENFORCE_NPU_SUCCESS
(
aclInit
(
nullptr
));
if
(
!
FLAGS_npu_config_path
.
empty
())
{
VLOG
(
4
)
<<
"Call aclInit("
<<
FLAGS_npu_config_path
<<
") "
;
PADDLE_ENFORCE_NPU_SUCCESS
(
aclInit
(
FLAGS_npu_config_path
.
c_str
()));
}
else
{
VLOG
(
4
)
<<
"Call aclInit(nullptr) "
;
PADDLE_ENFORCE_NPU_SUCCESS
(
aclInit
(
nullptr
));
}
VLOG
(
4
)
<<
"Call aclrtSetDevice "
;
// NOTE(zhiqiu): why set devices here?
// Because ACL creates a default context which contains 2 streams
...
...
paddle/testing/paddle_gtest_main.cc
浏览文件 @
6c09496a
...
...
@@ -65,6 +65,7 @@ int main(int argc, char** argv) {
#if defined(PADDLE_WITH_ASCEND_CL)
envs
.
push_back
(
"selected_npus"
);
envs
.
push_back
(
"npu_config_path"
);
#endif
char
*
env_str
=
nullptr
;
...
...
python/paddle/fluid/__init__.py
浏览文件 @
6c09496a
...
...
@@ -244,6 +244,7 @@ def __bootstrap__():
'initial_gpu_memory_in_mb'
,
'reallocate_gpu_memory_in_mb'
,
'gpu_memory_limit_mb'
,
'npu_config_path'
,
]
core
.
init_gflags
([
"--tryfromenv="
+
","
.
join
(
read_env_flags
)])
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录