code: def test_shape_x_x_dist_dist_bc_matmul(ctx):
      e_30_5_13 = [
          torch.rand(9, 5, 13),
          torch.rand(10, 5, 13),
          torch.rand(11, 5, 13),
      ]
      e_30_13_15 = [
          torch.rand(9, 13, 15),
          torch.rand(10, 13, 15),
          torch.rand(11, 13, 15),
      ]
  
      assert torch.matmul(
          make_dist(ctx, e_30_5_13), make_dist(ctx, e_30_13_15)
      ) == make_dist(
          ctx,
          [
              torch.matmul(s1, s2)
              for s1, s2 in zip(e_30_5_13, e_30_13_15)
          ],
      )
  
      assert torch.rmatmul_f(
          make_dist(ctx, e_30_13_15), make_dist(ctx, e_30_5_13)
      ) == make_dist(
          ctx,
          [
              torch.rmatmul_f(s1, s2)
              for s1, s2 in zip(e_30_13_15, e_30_5_13)
          ],
      )
  
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 9 for calling a global function with example usage: test_shape_x_x_dist_dist_bc_matmul(ctx) without return types