§
    x-j´  ã                  ó<   — d dl mZ d dlmZmZ d dlmZ 	 	 ddd„ZdS )é    )Úannotations)ÚTensorÚ_C_ops)Úin_dynamic_or_pir_modeFÚlhsr   ÚrhsÚbatch_sizesÚlistÚ	trans_lhsÚboolÚ	trans_rhsÚreturnútuple[Tensor]c                óR   — t          ¦   «         rt          j        | ||||¦  «        S dS )aÀ  
    Cluster launched gemm into one op, which can be further fused and optimized.

    Args:
        lhs (Tensor): A tensor shaped in (total_seq_len, input_hidden_size), meant to be
        perform gemm operation according to batch range.
        rhs (Tensor): A tensor shaped in (num_batches, input_hidden_size, output_hidden_size).
        batch_sizes(list): A list of integers representing the number of rows in each batch.
        trans_lhs (bool): Whether view lhs matrix as last 2D-transposed. Default: False.
        trans_rhs (bool): Whether view rhs matrix as last 2D-transposed. Default: False.

    Returns:
        tuple:
            - out (Tensor): The result of batched gemm operation.
    N)r   r   Úbatched_gemm)r   r   r	   r   r   s        új/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddle/incubate/nn/functional/batched_gemm.pyr   r      s8   € õ, ÑÔð PÝÔ" 3¨¨[¸)ÀYÑOÔOÐOðPð Pó    N)FF)r   r   r   r   r	   r
   r   r   r   r   r   r   )Ú
__future__r   Úpaddler   r   Úpaddle.frameworkr   r   © r   r   ú<module>r      su   ðð #Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3ð ØðPð Pð Pð Pð Pð Pð Pr   