ó
    š9i%	  ã                   óB   • S S S S S S.0r SSSS	.rS
SSS	.rS rS rg)ÚCUDAc                 ó   • SU S-  -  $ )Ng  ¸’2¼Cé   © ©ÚwidthÚkwargss     ÚU/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/triton/profiler/specs.pyÚ<lambda>r
      s   €  ¨%°!©)Ò 4ó    c                 ó   • SU S-  -  $ )Ng €µbÆòBr   r   r   s     r	   r
   r
      s   €  °%¸!±)Ò <r   c                 ó0   • US-  U-  S-  S-  S-  U 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                 ó*   • US-  US-  -  S-  U S-  -  $ )Ni @  ç     @@g    €„.Ar   r   r   s       r	   r
   r
      s%   € °gÀ±oÈÐVYÑIYÑ6ZÐ]`Ñ6`ÐejÐmnÑenÒ5or   )Ú80Ú89Ú90Ú100g   èvH‡Bg   xH“Bg   ¢”B)Úgfx90aÚgfx942Úgfx950i   i   i    c                 óÊ   • U S:X  a  [         U   U-  U-  S-  US-  -  $ U [        ;  a  [        SU  35      eU[        U    ;  a  [        SU 35      e[        U    U   nU" X#US9$ )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.
ÚHIPr   r   zUnsupported device type: zUnsupported architecture: )r   r   )Úamd_fp8_flops_by_archÚflops_by_deviceÚ
ValueError)Údevice_typeÚarchr   r   r   Ú
flops_funcs         r	   Ú	max_flopsr#      s‡   € ð eÓÜ$ TÑ*¨WÑ4°zÑAÀCÑGÈ5ÐSTÉ9ÑUÐUàœ/Ó)ÜÐ4°[°MÐBÓCÐCà”? ;Ñ/Ó/ÜÐ5°d°VÐ<Ó=Ð=ä  Ñ-¨dÑ3€Jáe¸ÑDÐDr   c                 óL   • U S:X  a  SU-  U-  S-  S-  $ U S:X  d   e[         U   $ )zø
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   r   )Úamd_bps_by_arch)r    r!   Ú	bus_widthÚmemory_clock_rates       r	   Úmax_bpsr)   6   s?   € ð fÓØ9‰}Ð0Ñ0°3Ñ6¸Ñ:Ð:à˜eÓ#Ð#Ð#Ü˜tÑ$Ð$r   N)r   r&   r   r#   r)   r   r   r	   Ú<module>r*      sQ   ðà
á4á<ñ	ñ 	pñ
ð€ð ØØñ€ð $(°4À4ÑHÐ òEó8%r   