+
    ړLj%	              	       R    R RR RR RR RR //t R	RR
RRR/tR	RR
RRR/tR tR tR# )CUDA80c                 "    R V ^,          ,          # )g  2C widthkwargss   &,A/app/.local/lib/python3.14/site-packages/triton/profiler/specs.py<lambda>r
      s    %!) 4    89c                 "    RV ^,          ,          # )g̤t@g bBr   r   s   &,r	   r
   r
      s    %!) <r   90c                 h    V^r,          V,          R,          R,          R,          V ^,          ,          # )r   i  g   mBg    x:Ar   r   num_sms
clock_rater   s   &&&,r	   r
   r
      s+    w}z7QU_7`cg7gko6o	6r   100c                 Z    VR ,          VR,          ,          R,          V ^,          ,          # )i @       @@g    .Ar   r   s   &&&,r	   r
   r
      s%    goVYIY6Z]`6`ejmnen5or   gfx90agfx942gfx950i   i   i    c                   V R8X  d1   \         V,          V,          V,          R,          V^,          ,          # V \        9  d   \        RV  24      hV\        V ,          9  d   \        RV 24      h\        V ,          V,          pV! W#VR7      # )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   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4zACG5ST9UU/)4[MBCC?;//5dV<== -d3JeDDr   c                x    V R8X  d   ^V,          V,          R,          ^,          # V R8X  g   Q h\         V,          # )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   )amd_bps_by_arch)r   r    	bus_widthmemory_clock_rates   &&&&r	   max_bpsr'   6   s?     f9}0036::e###t$$r   Ng   vHBg   xHBg   B)r   r$   r   r"   r'   r   r   r	   <module>r(      sf   
4<	o
 jjj "444H E8%r   