62 {
63 CHECK_GE(static_cast<int>(args.size()), 3);
64 bool no_trans = args.size() < 4;
65
66 auto bottom_data = args[0];
67 auto bottom_rois = args[1];
68 auto bottom_trans = no_trans ? migraphx::argument{} : args[2];
69 auto top_data = no_trans ? args[2] : args[3];
70
71 std::vector<const void*> inputs_data{
72 bottom_data.data(), bottom_rois.data(),
73 no_trans ? nullptr : bottom_trans.data()};
74
75 std::vector<void*> outputs_data{top_data.data()};
76
77 auto& ctx = migraphx::any_cast<migraphx::gpu::context>(gctx);
78
80 plugin->enqueue(
batch_size, inputs_data.data(), outputs_data.data(),
81 nullptr , ctx.get_stream().get());
82 return top_data;
83 }
std::function< std::shared_ptr< DFMBPSROIAlignPlugin >()> get_plugin