"src/git@developer.sourcefind.cn:gaoqiong/migraphx.git" did not exist on "d514c947dbc86c45ad550178f15023a4b048506f"
Commit 3d229ce3 authored by Ted Themistokleous's avatar Ted Themistokleous
Browse files

Force scalars to be the same shape when comming out of an if then/else block

parent 3c45ea15
...@@ -77,9 +77,6 @@ struct parse_if : op_parser<parse_if> ...@@ -77,9 +77,6 @@ struct parse_if : op_parser<parse_if>
std::to_string(else_out_shapes.at(0).type())); std::to_string(else_out_shapes.at(0).type()));
} }
// Need to check static shapes result
if(not then_out_shapes.at(0).dynamic() && not else_out_shapes.at(0).dynamic())
{
if(then_out_shapes.at(0).scalar()) if(then_out_shapes.at(0).scalar())
{ {
if(then_out_shapes.at(0).lens().at(0) != else_out_shapes.at(0).lens().at(0) || if(then_out_shapes.at(0).lens().at(0) != else_out_shapes.at(0).lens().at(0) ||
...@@ -88,6 +85,8 @@ struct parse_if : op_parser<parse_if> ...@@ -88,6 +85,8 @@ struct parse_if : op_parser<parse_if>
MIGRAPHX_THROW("PARSE_IF: " + info.name + MIGRAPHX_THROW("PARSE_IF: " + info.name +
"then out incompatible output shape with else"); "then out incompatible output shape with else");
} }
migraphx::shape s(then_out_shapes.at(0).type(), {then_out_shapes.at(0).lens().at(0), 1} , {1, 1});
then_mdl->add_outline(s);
} }
else if(else_out_shapes.at(0).scalar()) else if(else_out_shapes.at(0).scalar())
{ {
...@@ -97,7 +96,8 @@ struct parse_if : op_parser<parse_if> ...@@ -97,7 +96,8 @@ struct parse_if : op_parser<parse_if>
MIGRAPHX_THROW("PARSE_IF: " + info.name + MIGRAPHX_THROW("PARSE_IF: " + info.name +
"else out incompatible output shape with then"); "else out incompatible output shape with then");
} }
} migraphx::shape s(else_out_shapes.at(0).type(), {else_out_shapes.at(0).lens().at(0), 1} , {1, 1});
else_mdl->add_outline(s);
} }
auto if_ret = info.add_instruction(make_op("if"), args, {then_mdl, else_mdl}); auto if_ret = info.add_instruction(make_op("if"), args, {then_mdl, else_mdl});
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment