#include #include TEST_CASE(gemm_dyn_outer_test) { migraphx::program p; auto* mm = p.get_main_module(); auto l0 = mm->add_parameter( "A", migraphx::shape{migraphx::shape::float_type, {{5, 5}, {5, 10, {7}}}}); auto l1 = mm->add_parameter("B", migraphx::shape{migraphx::shape::float_type, {11, 5}}); auto alpha = 2.f; auto a_l = mm->add_literal(alpha); auto t_a = add_common_op(*mm, migraphx::make_op("mul"), {a_l, l0}); t_a = mm->add_instruction(migraphx::make_op("transpose", {{"permutation", {1, 0}}}), t_a); auto t1 = mm->add_instruction(migraphx::make_op("transpose", {{"permutation", {1, 0}}}), l1); auto dot = migraphx::add_apply_alpha_beta(*mm, {t_a, t1}, migraphx::make_op("dot"), 1.0f, 0.0f); mm->add_return({dot}); migraphx::onnx_options options; options.default_dyn_dim_value = {5, 10, {7}}; auto prog = migraphx::parse_onnx("gemm_dyn_outer_test.onnx", options); EXPECT(p == prog); }