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
22012c6d
Commit
22012c6d
authored
Jan 17, 2023
by
charlie
Browse files
Change parse gemm, remove test
parent
eaba20d8
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
26 deletions
+19
-26
src/onnx/parse_gemm.cpp
src/onnx/parse_gemm.cpp
+19
-19
test/onnx/gemm_dyn_C_error.onnx
test/onnx/gemm_dyn_C_error.onnx
+0
-0
test/onnx/onnx_test.cpp
test/onnx/onnx_test.cpp
+0
-7
No files found.
src/onnx/parse_gemm.cpp
View file @
22012c6d
...
@@ -90,27 +90,28 @@ struct parse_gemm : op_parser<parse_gemm>
...
@@ -90,27 +90,28 @@ struct parse_gemm : op_parser<parse_gemm>
?
info
.
add_instruction
(
make_op
(
"transpose"
,
{{
"permutation"
,
perm
}}),
args
[
1
])
?
info
.
add_instruction
(
make_op
(
"transpose"
,
{{
"permutation"
,
perm
}}),
args
[
1
])
:
args
[
1
];
:
args
[
1
];
auto
ret
=
info
.
add_instruction
(
make_op
(
"dot"
),
a_arg
,
b_arg
);
auto
dot_ins
=
info
.
add_instruction
(
make_op
(
"dot"
),
a_arg
,
b_arg
);
if
(
args
.
size
()
==
3
)
if
(
args
.
size
()
==
3
)
{
{
// TODO: support dynamic C input
if
(
not
float_equal
(
beta
,
0.0
f
))
if
(
std
::
any_of
(
args
.
cbegin
(),
args
.
cend
(),
[](
auto
in_arg
)
{
return
in_arg
->
get_shape
().
dynamic
();
}))
{
{
MIGRAPHX_THROW
(
"PARSE_GEMM: C input not handled for dynamic input shapes"
);
auto
c_arg
=
args
[
2
];
}
if
(
dot_ins
->
get_shape
().
dynamic
())
if
(
not
float_equal
(
beta
,
0.0
f
)
and
args
[
2
]
->
get_shape
().
elements
()
>
0
)
{
auto
out_lens
=
a_arg
->
get_shape
().
lens
();
out_lens
.
back
()
=
b_arg
->
get_shape
().
lens
().
back
();
auto
c_arg
=
args
[
2
];
auto
c_lens
=
c_arg
->
get_shape
().
lens
();
if
(
not
std
::
equal
(
out_lens
.
begin
(),
out_lens
.
end
(),
c_lens
.
begin
(),
c_lens
.
end
()))
{
{
c_arg
=
info
.
add_instruction
(
c_arg
=
info
.
add_instruction
(
make_op
(
"multibroadcast"
),
args
[
2
],
dot_ins
);
make_op
(
"multibroadcast"
,
{{
"out_lens"
,
out_lens
}}),
args
[
2
]);
}
else
{
auto
out_lens
=
a_arg
->
get_shape
().
lens
();
out_lens
.
back
()
=
b_arg
->
get_shape
().
lens
().
back
();
auto
c_lens
=
c_arg
->
get_shape
().
lens
();
if
(
not
std
::
equal
(
out_lens
.
begin
(),
out_lens
.
end
(),
c_lens
.
begin
(),
c_lens
.
end
()))
{
c_arg
=
info
.
add_instruction
(
make_op
(
"multibroadcast"
,
{{
"out_lens"
,
out_lens
}}),
args
[
2
]);
}
}
}
auto
beta_literal
=
info
.
add_literal
(
beta
);
auto
beta_literal
=
info
.
add_literal
(
beta
);
auto
beta_c
=
info
.
add_broadcastable_binary_op
(
"mul"
,
c_arg
,
beta_literal
);
auto
beta_c
=
info
.
add_broadcastable_binary_op
(
"mul"
,
c_arg
,
beta_literal
);
...
@@ -120,11 +121,10 @@ struct parse_gemm : op_parser<parse_gemm>
...
@@ -120,11 +121,10 @@ struct parse_gemm : op_parser<parse_gemm>
beta_c
);
beta_c
);
}
}
return
info
.
add_instruction
(
make_op
(
"add"
),
ret
,
beta_c
);
return
info
.
add_instruction
(
make_op
(
"add"
),
dot_ins
,
beta_c
);
}
}
}
}
return
dot_ins
;
return
ret
;
}
}
};
};
...
...
test/onnx/gemm_dyn_C_error.onnx
deleted
100644 → 0
View file @
eaba20d8
File deleted
test/onnx/onnx_test.cpp
View file @
22012c6d
...
@@ -2278,13 +2278,6 @@ TEST_CASE(gemm_dyn_outer_test)
...
@@ -2278,13 +2278,6 @@ TEST_CASE(gemm_dyn_outer_test)
EXPECT
(
p
==
prog
);
EXPECT
(
p
==
prog
);
}
}
TEST_CASE
(
gemm_dyn_C_error
)
{
migraphx
::
onnx_options
options
;
options
.
default_dyn_dim_value
=
{
1
,
4
,
0
};
EXPECT
(
test
::
throws
([
&
]
{
migraphx
::
parse_onnx
(
"gemm_dyn_C_error.onnx"
,
options
);
}));
}
TEST_CASE
(
gemm_rank_error
)
TEST_CASE
(
gemm_rank_error
)
{
{
EXPECT
(
test
::
throws
([
&
]
{
migraphx
::
parse_onnx
(
"gemm_rank_error.onnx"
);
}));
EXPECT
(
test
::
throws
([
&
]
{
migraphx
::
parse_onnx
(
"gemm_rank_error.onnx"
);
}));
...
...
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