def ipex_sgmv_shrink_for_nslices(
        nslices: int,
        inputs_tensor: torch.Tensor,
        lora_weights_lst: list[torch.Tensor],
        out_tensor: torch.Tensor,
        b_seq_start_loc: torch.Tensor,
        seq_len_tensor: torch.Tensor,
        prompt_lora_mapping: torch.Tensor,
        batches: int,
        max_seq_length: int,
        num_tokens: int,
        scaling: float,
    ):
        """
        Wrapper around sgmv_shrink that handles any nslices.
        """
        for index in range(nslices):
            ipex_sgmv_shrink(
                inputs_tensor,
                lora_weights_lst[index],
                out_tensor[index],
                b_seq_start_loc,
                seq_len_tensor,
                prompt_lora_mapping,
                batches,
                max_seq_length,
                num_tokens,
                scaling,
            )

        Wrapper around sgmv_shrink that handles any nslices.
        
tests/cpu/test_punica.py