def update_alignments_in_group_gemm_instance(
    op_def: str, func_attrs: Dict[str, Any], for_profiler: bool
) -> str:
    """
    update kAlignmentA, kAlignmentB, and epilogue_alignment in op_def,
    which is a group_gemm instance emitted by the gemm instance emitter of cutlass.
    """
    if for_profiler:
        return op_def

    # TODO: adjust a_alignment, b_alignment based on input_accessors

    gemm_params = get_group_gemm_instance_template_params(op_def)
    epilogue_align_idx = 12
    epilogue_curr_align = gemm_params[epilogue_align_idx].strip()

    output_accessors = func_attrs["output_accessors"]
    epilogue_alignment = int(epilogue_curr_align)
    for output_accessor in output_accessors:
        epilogue_alignment = min(
            epilogue_alignment,
            tensor_accessor_codegen.find_max_alignment_for_accessor(output_accessor),
        )

    instance_lines = op_def.split("\n")
    # a_align_idx + 4 in the full instance string
    idx_offset = 4

    epilogue_curr_align_line = instance_lines[epilogue_align_idx + idx_offset]
    assert epilogue_curr_align == epilogue_curr_align_line.strip(
        " ,"
    ), f"expected {epilogue_curr_align=} equal to {epilogue_curr_align_line=}"
    instance_lines[epilogue_align_idx + idx_offset] = epilogue_curr_align_line.replace(
        epilogue_curr_align, str(epilogue_alignment)
    )
    return "\n".join(instance_lines)
update kAlignmentA, kAlignmentB, and epilogue_alignment in op_def,
which is a group_gemm instance emitted by the gemm instance emitter of cutlass.
python/aitemplate/backend/cuda/gemm_universal/group_common.py