code: def test_shape_1_x(ctx):
      a = [torch.rand(9), torch.rand(10), torch.rand(11)]
      b = [torch.rand(9), torch.rand(10), torch.rand(11)]
      c = torch.rand(30, 4)
      d = torch.rand(4, 30)
      e = [torch.rand(9, 5), torch.rand(10, 5), torch.rand(11, 5)]
      f = [torch.rand(5, 9), torch.rand(5, 10), torch.rand(5, 11)]
      da = make_dist(ctx, a)
      db = make_dist(ctx, b)
      la = torch.concat(a)
      lb = torch.concat(b)
      de = make_dist(ctx, e)
      df = make_dist(ctx, f, axis=1)
      le = torch.concat(e)
      lf = torch.concat(f, dim=1)
      # distributed
      assert torch.allclose(torch.matmul(da, de), torch.matmul(la, le))
      assert torch.allclose(
          torch.rmatmul_f(da, df), torch.rmatmul_f(la, lf)
      )
  
      # local
      assert torch.allclose(torch.matmul(da, c), torch.matmul(la, c))
      assert torch.allclose(
          torch.rmatmul_f(da, d), torch.rmatmul_f(la, d)
      )
  
file_path: FATE/python/fate/test/test_matmul.py
imports: import torch
  from fate.arch.computing.backends.standalone import CSession
  from fate.arch.context import Context
  from fate.arch.federation.backends.standalone import StandaloneFederation
  from fate.arch.tensor import DTensor
  from pytest import fixture
label_desc: Use image node_id 7 for calling a global function with example usage: test_shape_1_x(ctx) without return types