Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
magicwindyyd
mindspore
提交
6f6fc75b
M
mindspore
项目概览
magicwindyyd
/
mindspore
与 Fork 源项目一致
Fork自
MindSpore / mindspore
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
mindspore
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
6f6fc75b
编写于
5月 25, 2020
作者:
L
liubuyu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
bug fix
上级
c8f69f5d
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
4 addition
and
26 deletion
+4
-26
mindspore/ccsrc/device/ascend/kernel_select_ascend.cc
mindspore/ccsrc/device/ascend/kernel_select_ascend.cc
+1
-1
mindspore/ccsrc/pre_activate/ascend/enhancer/insert_pad_for_nms_with_mask.cc
..._activate/ascend/enhancer/insert_pad_for_nms_with_mask.cc
+2
-24
mindspore/ccsrc/pre_activate/ascend/ir_fission/transdata_split.cc
...e/ccsrc/pre_activate/ascend/ir_fission/transdata_split.cc
+1
-1
未找到文件。
mindspore/ccsrc/device/ascend/kernel_select_ascend.cc
浏览文件 @
6f6fc75b
...
...
@@ -512,7 +512,7 @@ KernelSelectStatus SelectKernelInfo(const CNodePtr &kernel_node) {
MS_LOG
(
WARNING
)
<<
"The node ["
<<
kernel_node
->
DebugString
()
<<
"] cannot find valid TBE kernel info, try to get aicpu kernel info"
;
kernel
::
AICPUQuery
(
kernel_node
,
&
aicpu_kernel_info_list
);
select_status
=
SetMatchedKernelInfo
(
kernel_node
,
kernel_info_list
);
select_status
=
SetMatchedKernelInfo
(
kernel_node
,
aicpu_
kernel_info_list
);
AnfAlgo
::
SetNodeAttr
(
kAttrIsAICPUKernel
,
MakeValue
(
true
),
kernel_node
);
}
// The kernel info not finded both in the aicpu kernel list & aicore kernel list
...
...
mindspore/ccsrc/pre_activate/ascend/enhancer/insert_pad_for_nms_with_mask.cc
浏览文件 @
6f6fc75b
...
...
@@ -33,8 +33,7 @@ const BaseRef InsertPadForNMSWithMask::DefinePattern() const {
return
VectorRef
({
prim
::
kPrimNMSWithMask
,
Xs
});
}
AnfNodePtr
INsertPadToGraph
(
const
FuncGraphPtr
&
func_graph
,
const
AnfNodePtr
&
input
,
const
std
::
string
&
format
,
const
TypeId
&
input_type
,
const
TypeId
&
output_type
,
const
TypeId
&
origin_type
,
AnfNodePtr
InsertPadToGraph
(
const
FuncGraphPtr
&
func_graph
,
const
AnfNodePtr
&
input
,
const
TypeId
&
origin_type
,
const
std
::
vector
<
size_t
>
&
origin_shape
)
{
MS_EXCEPTION_IF_NULL
(
func_graph
);
std
::
vector
<
AnfNodePtr
>
new_pad_inputs
;
...
...
@@ -43,25 +42,6 @@ AnfNodePtr INsertPadToGraph(const FuncGraphPtr &func_graph, const AnfNodePtr &in
new_pad_inputs
.
push_back
(
input
);
CNodePtr
pad
=
func_graph
->
NewCNode
(
new_pad_inputs
);
MS_EXCEPTION_IF_NULL
(
pad
);
// set kernel build info
kernel
::
KernelBuildInfo
::
KernelBuildInfoBuilder
builder
;
builder
.
SetInputsFormat
({
format
});
builder
.
SetOutputsFormat
({
format
});
builder
.
SetInputsDeviceType
({
input_type
});
builder
.
SetOutputsDeviceType
({
output_type
});
builder
.
SetFusionType
(
kernel
::
FusionType
::
OPAQUE
);
builder
.
SetProcessor
(
kernel
::
Processor
::
AICORE
);
if
(
kernel
::
OpLib
::
FindOp
(
prim
::
kPrimPad
->
name
(),
kernel
::
kTBE
)
!=
nullptr
)
{
builder
.
SetKernelType
(
KernelType
::
TBE_KERNEL
);
}
else
{
builder
.
SetKernelType
(
KernelType
::
AICPU_KERNEL
);
}
if
(
pad
->
kernel_info
()
==
nullptr
)
{
auto
kernel_info
=
std
::
make_shared
<
device
::
KernelInfo
>
();
pad
->
set_kernel_info
(
kernel_info
);
}
AnfAlgo
::
SetSelectKernelBuildInfo
(
builder
.
Build
(),
pad
.
get
());
AnfAlgo
::
SetOutputInferTypeAndShape
({
origin_type
},
{
origin_shape
},
pad
.
get
());
return
pad
;
}
...
...
@@ -81,14 +61,12 @@ const AnfNodePtr InsertPadForNMSWithMask::Process(const FuncGraphPtr &func_graph
for
(
size_t
input_idx
=
0
;
input_idx
<
AnfAlgo
::
GetInputTensorNum
(
cnode
);
input_idx
++
)
{
auto
cur_input
=
AnfAlgo
::
GetInputNode
(
cnode
,
input_idx
);
auto
origin_type
=
AnfAlgo
::
GetPrevNodeOutputInferDataType
(
cnode
,
input_idx
);
auto
format
=
AnfAlgo
::
GetPrevNodeOutputFormat
(
cnode
,
input_idx
);
auto
origin_shape
=
AnfAlgo
::
GetPrevNodeOutputInferShape
(
cnode
,
input_idx
);
if
(
!
(
origin_shape
.
size
()
==
2
&&
origin_shape
[
1
]
==
5
))
{
return
nullptr
;
}
origin_shape
[
1
]
=
8
;
auto
device_type
=
AnfAlgo
::
GetPrevNodeOutputDeviceDataType
(
cnode
,
input_idx
);
auto
pad
=
INsertPadToGraph
(
func_graph
,
cur_input
,
format
,
origin_type
,
device_type
,
origin_type
,
origin_shape
);
auto
pad
=
InsertPadToGraph
(
func_graph
,
cur_input
,
origin_type
,
origin_shape
);
MS_EXCEPTION_IF_NULL
(
pad
);
pad
->
set_scope
(
cnode
->
scope
());
AnfAlgo
::
SetNodeAttr
(
"paddings"
,
MakeValue
(
std
::
vector
<
std
::
vector
<
int
>>
{{
0
,
0
},
{
0
,
3
}}),
pad
);
...
...
mindspore/ccsrc/pre_activate/ascend/ir_fission/transdata_split.cc
浏览文件 @
6f6fc75b
...
...
@@ -90,7 +90,7 @@ bool TransDataSplit::DoSplit(const FuncGraphPtr &func_graph, const AnfNodePtr &n
new_transdata_node
=
NewTransOpNode
(
func_graph
,
new_transpose_node
,
kernel_select_
,
false
,
prim
::
KPrimTransData
->
name
());
RefreshKernelBuildInfo
(
kOpFormat_HWCN
,
output_format
,
AnfAlgo
::
GetOutputDeviceDataType
(
new_transdata_node
,
0
),
new_trans
pose
_node
);
new_trans
data
_node
);
new_replace_node
=
new_transdata_node
;
}
FuncGraphManagerPtr
manager
=
func_graph
->
manager
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录