def __init__(self, shape: Tuple[int], layout="0213"):
        """Constructor for bmm_rcr_permute

        Parameters
        ----------
        shape : Tuple[int]
            Necessary dim info of the reshape operator
            In 0213 case, we need to know the [D1,] to reshape the output from 3D to 4D
        layout : str, optional
            permutation type, by default "0213"
        """
        super().__init__()
        self._attrs["op"] = "bmm_rcr_permute"
        self._attrs["shape"] = shape
        self._attrs["layout"] = "Permute4DBMM_{}".format(layout)
        self._attrs["permute_shape"] = "_".join(map(str, shape))
Constructor for bmm_rcr_permute

        Parameters
        ----------
        shape : Tuple[int]
            Necessary dim info of the reshape operator
            In 0213 case, we need to know the [D1,] to reshape the output from 3D to 4D
        layout : str, optional
            permutation type, by default "0213"
        
python/aitemplate/compiler/ops/gemm_universal/bmm_rcr_permute.py