Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gaoqiong
MIGraphX
Commits
3541b5af
Commit
3541b5af
authored
Feb 15, 2022
by
Shucai Xiao
Browse files
refine the fix
parent
ebb132a6
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
32 deletions
+8
-32
src/targets/gpu/lowering.cpp
src/targets/gpu/lowering.cpp
+8
-32
No files found.
src/targets/gpu/lowering.cpp
View file @
3541b5af
...
...
@@ -81,20 +81,15 @@ struct miopen_apply
if
(
this
->
last
->
name
()
==
"@return"
)
{
const
auto
&
prog_outputs
=
last
->
inputs
();
std
::
vector
<
instruction_ref
>
outputs
(
prog_outputs
.
size
());
std
::
vector
<
instruction_ref
>
outputs
_alias
(
prog_outputs
.
size
());
std
::
transform
(
prog_outputs
.
begin
(),
prog_outputs
.
end
(),
outputs
.
begin
(),
[](
const
auto
&
i
)
{
auto
alias_ins
=
instruction
::
get_output_alias
(
i
);
auto
alias_s
=
alias_ins
->
get_shape
();
return
(
alias_s
.
type
()
==
shape
::
tuple_type
or
alias_s
.
elements
()
!=
i
->
get_shape
().
elements
())
?
i
:
alias_ins
;
});
std
::
transform
(
prog_outputs
.
begin
(),
prog_outputs
.
end
(),
outputs_alias
.
begin
(),
[](
const
auto
&
i
)
{
return
instruction
::
get_output_alias
(
i
);
});
std
::
size_t
index
=
0
;
for
(
auto
ins
:
outputs
)
for
(
auto
ins
:
outputs
_alias
)
{
prog_output_names
[
ins
]
=
mod
->
name
()
+
":#output_"
+
std
::
to_string
(
index
++
);
}
...
...
@@ -270,29 +265,10 @@ struct miopen_apply
}
auto
ins_alias
=
instruction
::
get_output_alias
(
ins
);
if
(
last
->
name
()
==
"@return"
and
tag
.
empty
())
{
auto
alias_s
=
ins_alias
->
get_shape
();
if
(
alias_s
.
type
()
==
shape
::
tuple_type
or
alias_s
.
elements
()
!=
ins
->
get_shape
().
elements
())
{
if
(
prog_output_names
.
count
(
ins
)
>
0
)
{
auto
out_ins
=
mod
->
add_parameter
(
prog_output_names
[
ins
],
s
);
mod
->
insert_instruction
(
std
::
next
(
ins
),
make_op
(
"contiguous"
),
ins
,
out_ins
);
mod
->
replace_instruction
(
ins
,
out_ins
);
return
out_ins
;
}
}
else
{
if
(
prog_output_names
.
count
(
ins_alias
)
>
0
)
if
(
last
->
name
()
==
"@return"
and
tag
.
empty
()
and
prog_output_names
.
count
(
ins_alias
)
>
0
)
{
return
mod
->
add_parameter
(
prog_output_names
[
ins_alias
],
s
);
}
}
}
else
if
(
ins
==
last
and
tag
.
empty
())
{
return
mod
->
add_parameter
(
"output"
,
s
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment