§
    9˜ºh�  ã                   ó8   — d „ d„ d„ d„ dœd„ d„ dœdœZ d	„ Zd
„ ZdS )c                 ó   — d| dz  z  S )Ng  ¸’2¼Cé   © ©ÚwidthÚkwargss     ú]/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/triton/profiler/specs.pyú<lambda>r	      s   €  ¨%°!©)Ñ 4€ ó    c                 ó   — d| dz  z  S )Ng €µbÆòBr   r   r   s     r   r	   r	      s   €  °%¸!±)Ñ <€ r
   c                 ó0   — |dz  |z  dz  dz  dz  | dz  z  S )Nér   g    xÇ:Aié  g   ¢”mBr   r   ©r   Únum_smsÚ
clock_rater   s       r   r	   r	      s-   € °wÀ±}ÀzÑ7QÐU_Ñ7`ÐcgÑ7gÐkoÑ6oØ	�‰ñ6€ r
   c                 ó*   — |dz  |dz  z  dz  | dz  z  S )Ni @  ç     @�@g    €„.Ar   r   r   s       r   r	   r	      s'   € °gÀ±oÈÐVYÑIYÑ6ZÐ]`Ñ6`ÐejÐmnÑenÑ5o€ r
   )Ú80Ú89Ú90Ú100c                 ó   — d| dz  z  S )Ng  //bÅõBr   r   r   s     r   r	   r	      s   € ¨&°E¸A±IÑ*>€ r
   c                 ó   — d| dz  z  S )Ng ?³y”"Cr   r   r   s     r   r	   r	      s   € ¨)°u¸q±yÑ*A€ r
   )Úgfx90aÚgfx942)ÚCUDAÚHIPc                 ó¼   — | t           vrt          d| › �¦  «        ‚|t           |          vrt          d|› �¦  «        ‚t           |          |         } ||||¬¦  «        S )aÎ  
    Calculate the maximum FLOPS for a given device type and width.

    Args:
        device_type (str): The type of device (e.g., "CUDA", "HIP").
        arch (str): The architecture of the device (e.g., "80", "90").
        width (int): The width in bits.
        num_sms (int): The number of streaming multiprocessors.
        clock_rate (float): The clock rate in GHz.

    Returns:
        float: The maximum FLOPS for the given device type and width.
    zUnsupported device type: zUnsupported architecture: )r   r   )Úflops_by_deviceÚ
ValueError)Údevice_typeÚarchr   r   r   Ú
flops_funcs         r   Ú	max_flopsr#      ss   € ð �/Ð)Ð)ÝÐB°[ÐBÐBÑCÔCÐCà•? ;Ô/Ð/Ð/ÝÐ<°dÐ<Ð<Ñ=Ô=Ð=å  Ô-¨dÔ3€Jàˆ:�e W¸ÐDÑDÔDÐDr
   c                 ó   — d| z  |z  dz  dz  S )a  
    Calculate the maximum bytes per second for a given bus width and memory clock rate.

    Args:
        bus_width (int): The bus width in bits.
        memory_clock_rate (float): The memory clock rate in GHz.

    Returns:
        float: The maximum bytes per second.
    é   r   r   r   )Ú	bus_widthÚmemory_clock_rates     r   Úmax_bpsr(   -   s   € ð ˆy‰=Ð,Ñ,¨sÑ2°QÑ6Ð6r
   N)r   r#   r(   r   r
   r   ú<module>r)      s   ðð 	5Ð4à<Ð<ð	ð 	ð 	pÐoð
ð 
ð ?Ð>ØAÐAðð ðð €ð&Eð Eð Eð27ð 7ð 7ð 7ð 7r
   