code: def _dsd_matmul(
      a,
      b,
      trans_a,
      trans_b,
      trans_c,
      spdims,
      block,
      lut,
      num_locks,
      width,
      packs,
      bench,
      time,
  ):
      global triton
      if triton is None:
          triton = importlib.import_module("triton")
  
      # shapes / dtypes
      AS0 = spdims[0]
      AS1 = block * spdims[2 if trans_a else 1]
      AS2 = block * spdims[1 if trans_a else 2]
      BS0 = b.size(0)
      BS1 = b.size(1)
      BS2 = b.size(3 if trans_b else 2)
      BS3 = b.size(2 if trans_b else 3)
      dtype = a.dtype
      # kernel
  
      meta = {
          "TM": block,
          "TN": 128,
          "TK": 16,
          "BLOCK": block,
          "TZ": 1,
          "SDD": False,
          "DSD": True,
          "DDS": False,
      }
      # output
      CS0 = BS0
      CS1 = BS1
      CS2 = BS3 if trans_c else AS1
      CS3 = AS1 if trans_c else BS3
      locks = _sparse_matmul.get_locks(
          2 * BS0 * BS3 // 32 * num_locks, a.device
      )
      c = torch.empty(
          (CS0, CS1, CS2, CS3), dtype=dtype, device=a.device
      )
      grid = lambda meta: [width, triton.cdiv(BS3, meta["TN"]), BS0]
      _kernel[grid](
          a,
          b,
          c,
          a.stride(0),
          a.stride(1),
          a.stride(3 if trans_a else 2),
          a.stride(2 if trans_a else 3),
          b.stride(0),
          b.stride(1),
          b.stride(3 if trans_b else 2),
          b.stride(2 if trans_b else 3),
          c.stride(0),
          c.stride(1),
          c.stride(2),
          c.stride(3),
          BS3,
          AS1,
          0,
          0,
          lut,
          locks,
          num_locks,
          num_warps=4,
          **meta,
      )
      return c
  
imports: import importlib
  import torch
  import triton
  import triton.language
  import triton._C.libtriton
  from deepspeed.accelerator import get_accelerator
label_desc: Use image node_id 7 for calling the _sparse_matmul obj's underlying member method code with example usage: obj._dsd_matmul(a, b, trans_a, trans_b, trans_c, spdims, block, lut, num_locks, width, packs, bench, time) and returns: c