class_docstr: Describes various attributes for instantiating GEMM kernels.
docstr: lda, ldb, ldc, according to the leading dimension.
docstr_tok: ["lda",",","ldb",",","ldc",",","according","to","the","leading","dimension","."]
code: def leading_dim(self):
      """lda, ldb, ldc, according to the leading dimension."""
      if self.A.layout == LayoutType.RowMajor:
          lda = "K"
      elif self.A.layout == LayoutType.ColumnMajor:
          lda = "M"
      else:
          ValueError("The layout of A is not implemented.")
  
      if self.B.layout == LayoutType.RowMajor:
          ldb = "N"
      elif self.B.layout == LayoutType.ColumnMajor:
          ldb = "K"
      else:
          ValueError("The layout of B is not implemented.")
  
      if self.C.layout == LayoutType.RowMajor:
          ldc = "N"
      elif self.C.layout == LayoutType.ColumnMajor:
          ldc = "M"
      else:
          ValueError("The layout of B is not implemented.")
  
      return substitute_template(
          "int lda = ${lda_val};\n\tint ldb = ${ldb_val};\n\tint ldc = ${ldc_val};\n",
          {"lda_val": lda, "ldb_val": ldb, "ldc_val": ldc},
      )
  
file_path: tvm/python/tvm/contrib/cutlass/gemm_operation.py
imports: from .library import *
label_desc: Use image node_id 8 for calling the GemmOperation obj's underlying member method code with example usage: obj.leading_dim() and returns: substitute_template