   merge_add_functor(ctx, inputs, output.get());
 
   paddle::framework::Tensor output_cpu;
-  paddle::framework::TensorCopy(*output, cpu_place, ctx, &output_cpu);
+  paddle::framework::TensorCopy(output.value(), cpu_place, ctx, &output_cpu);
   ctx.Wait();
 
   EXPECT_EQ(output->height(), height);

  in1_value->mutable_data<float>(
      paddle::framework::make_ddim(
          {static_cast<int64_t>(rows1.size()), row_numel}),
      cpu_place);
  set_const(ctx, in1_value, 1.0);

  std::vector<int64_t> rows2{2, 5, 3, 5, 3};

          paddle::platform::DeviceContextPool::Instance().Get(gpu_place));
  paddle::operators::math::SetConstant<paddle::platform::CUDADeviceContext,
                                       float>
      set_const;

  int64_t height = 10;
  int64_t row_numel = 8;
