def sgmv_shrink(
    inputs: torch.Tensor,
    lora_a_weights: torch.Tensor,
    output_tensor: torch.Tensor,
    b_seq_start_loc: torch.Tensor,
    seq_len_tensor: torch.Tensor,
    lora_indices_tensor: torch.Tensor,
    batches: int,
    max_seq_length: int,
    scaling: float,
):
    r"""
    This function is generally the same as the one in vllm/lora/ops/sgmv_shrink.py
    Args:
        inputs (torch.Tensor): Shape: `[num_token, hidden_size]`
        lora_a_weights (torch.Tensor): Shape: `[lora_num, rank, hidden_size]`
        output_tensor (torch.Tensor): Shape: `[num_token, rank]`.
        b_seq_start_loc (torch.Tensor): Not use.
        seq_len_tensor (torch.Tensor): Shape: `[batch_size]`. Record the sequence
            length of the sequences in the batch
        lora_indices_tensor (torch.Tensor): Shape: `[batch_size]`.  The LoRA index
            corresponding to each batch. An index of -1 means no lora should be
            applied.
        batches (int): Not use.
        max_seq_length (int): Not use.
        scaling (float):  Scaling factor.
    """
    f = _get_function_from_device(inputs.device.type, sgmv_shrink)
    return f(
        inputs,
        lora_a_weights,
        output_tensor,
        b_seq_start_loc,
        seq_len_tensor,
        lora_indices_tensor,
        batches,
        max_seq_length,
        scaling,
    )

    This function is generally the same as the one in vllm/lora/ops/sgmv_shrink.py
    Args:
        inputs (torch.Tensor): Shape: `[num_token, hidden_size]`
        lora_a_weights (torch.Tensor): Shape: `[lora_num, rank, hidden_size]`
        output_tensor (torch.Tensor): Shape: `[num_token, rank]`.
        b_seq_start_loc (torch.Tensor): Not use.
        seq_len_tensor (torch.Tensor): Shape: `[batch_size]`. Record the sequence
            length of the sequences in the batch
        lora_indices_tensor (torch.Tensor): Shape: `[batch_size]`.  The LoRA index
            corresponding to each batch. An index of -1 means no lora should be
            applied.
        batches (int): Not use.
        max_seq_length (int): Not use.
        scaling (float):  Scaling factor.
    
intel_extension_for_pytorch/llm/functional/fusions.py