def jagged_to_dense_gen_function_call(
    func_attrs,
    indent: str,
) -> str:
    """Generate jagged_to_dense function call."""

    vectors = func_attrs["inputs"][0]
    vshape = vectors._attrs["shape"]
    matrices = func_attrs["inputs"][1]
    jshape = matrices._attrs["shape"]
    output = func_attrs["outputs"][0]
    backend_spec = CUDASpec()

    return FUNC_CALL_TEMPLATE.render(
        stream=backend_spec.stream,
        func_name=func_attrs["name"],
        matrices=matrices._attrs["name"],
        vectors=vectors._attrs["name"],
        b=vshape[0]._attrs["name"],
        h=vshape[1]._attrs["name"],
        n=vshape[2]._attrs["name"],
        d=jshape[2]._attrs["name"],
        output=output._attrs["name"],
        offsets=gen_offsets_str(
            matrices._attrs["shape"][0],
            has_type=False,
            const_ref=False,
        ),
        indent=indent,
    )
Generate jagged_to_dense function call.
python/aitemplate/backend/cuda/gemm_special/batched_dense_vec_jagged_2d_mul.py