def vector_norm_gen_function(func_attrs) -> str:
    """the registered function for generating vector_norm kernel and all of
    its auxiliary functions

    Parameters
    ----------
    func_attrs : Dict[str, Any]
        holds attributes of this vector_norm op

    Returns
    -------
    str
        returns the rendered code for the complete implementation of this reduce mean op
    """
    ord_kind = func_attrs["ord_kind"]
    if ord_kind == "2":
        prologue_template = L2_NORM_PROLOGUE_TEMPLATE
        epilogue_scalar_template = L2_NORM_EPILOGUE_SCALAR_TEMPLATE
    else:
        raise RuntimeError("unsupported ord_kind {} for vector_norm".format(ord_kind))

    return reduce_3d.gen_function(
        func_attrs, "cutlass::plus", prologue_template, epilogue_scalar_template
    )
the registered function for generating vector_norm kernel and all of
    its auxiliary functions

    Parameters
    ----------
    func_attrs : Dict[str, Any]
        holds attributes of this vector_norm op

    Returns
    -------
    str
        returns the rendered code for the complete implementation of this reduce mean op
    
python/aitemplate/backend/cuda/reduce/vector_norm.py