§
    NŠtj
  ã                   ó„   — d dl mZmZ d dlmZmZmZmZ  G d„ de¦  «        Z G d„ de¬¦  «        Z	 G d„ d	e	¦  «        Z
d
S )é    )ÚABCMetaÚabstractmethod)ÚCallableÚListÚProtocolÚSequencec                   ó:   — e Zd Zdedee         dee         fd„ZdS )ÚBenchmarkerÚkernel_callÚ	quantilesÚreturnc                ó   — d S ©N© )Úselfr   r   Úkwargss       úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/triton/backends/driver.pyÚ__call__zBenchmarker.__call__   ó   € Øˆó    N)Ú__name__Ú
__module__Ú__qualname__r   r   Úfloatr   r   r   r   r   r
   r
      sH   € € € € € ð Hð ¸DÀ¼Kð ÐV^Ð_dÔVeð ð ð ð ð ð r   r
   c                   ó¤   — e Zd Zeed„ ¦   «         ¦   «         Zededefd„¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ede
fd„¦   «         Zd
d	„ZdS )Ú
DriverBasec                 ó   — d S r   r   ©r   s    r   Ú	is_activezDriverBase.is_active   s	   € ð 	ˆr   Útyr   c                 ó   — dS )zù
        Converts a Triton type string to its corresponding C++ type string for this backend.

        Args:
            ty (str): The Triton type string. e.g., 'i32', '*fp16', 'fp32'.

        Returns:
            str: The C++ type string.
        Nr   )r   r    s     r   Úmap_python_to_cpp_typez!DriverBase.map_python_to_cpp_type   s	   € ð 	ˆr   c                 ó   — d S r   r   r   s    r   Úget_current_targetzDriverBase.get_current_target   ó   € àˆr   c                 ó   — d S r   r   r   s    r   Úget_active_torch_devicez"DriverBase.get_active_torch_device#   r%   r   c                 ó   — t           ‚)z[
        Return the benchmarking function that this backend should use by default.
        )ÚNotImplementedErrorr   s    r   Úget_benchmarkerzDriverBase.get_benchmarker'   s
   € õ
 "Ð!r   Nc                 ó   — d S r   r   r   s    r   Ú__init__zDriverBase.__init__.   r   r   )r   N)r   r   r   Úclassmethodr   r   Ústrr"   r$   r'   r
   r*   r,   r   r   r   r   r      sÖ   € € € € € àØðð ñ „^ñ „[ðð ð
¨ð 
°ð 
ð 
ð 
ñ „^ð
ð ðð ñ „^ðð ðð ñ „^ðð ð" ð "ð "ð "ñ „^ð"ðð ð ð ð ð r   r   )Ú	metaclassc                   ó   — e Zd Zd„ Zd„ ZdS )Ú	GPUDriverc                 óÈ   ‡— dd l Š‰j        j        | _        	 ddlm} || _        n# t          $ r ˆfd„| _        Y nw xY w‰j        j        | _        ‰j        j	        | _
        d S )Nr   )Ú_cuda_getCurrentRawStreamc                 óB   •— ‰j                              | ¦  «        j        S r   )ÚcudaÚcurrent_streamÚcuda_stream)ÚidxÚtorchs    €r   ú<lambda>z$GPUDriver.__init__.<locals>.<lambda><   s   ø€ °%´*×2KÒ2KÈCÑ2PÔ2PÔ2\€ r   )r9   r5   Úget_device_capabilityÚtorch._Cr3   Úget_current_streamÚImportErrorÚcurrent_deviceÚget_current_deviceÚ
set_deviceÚset_current_device)r   r3   r9   s     @r   r,   zGPUDriver.__init__4   s’   ø€ àˆˆˆØ%*¤ZÔ%EˆÔ"ð	]Ø:Ð:Ð:Ð:Ð:Ð:Ø&?ˆDÔ#Ð#øÝð 	]ð 	]ð 	]Ø&\Ð&\Ð&\Ð&\ˆDÔ#Ð#Ð#ð	]øøøà"'¤*Ô";ˆÔØ"'¤*Ô"7ˆÔÐÐs   ˜& ¦=¼=c                 ó   — |S r   r   )r   Útensormaps_infoÚargss      r   Úassemble_tensormap_to_argz#GPUDriver.assemble_tensormap_to_argA   s   € Øˆr   N)r   r   r   r,   rF   r   r   r   r1   r1   2   s2   € € € € € ð
8ð 
8ð 
8ðð ð ð ð r   r1   N)Úabcr   r   Útypingr   r   r   r   r
   r   r1   r   r   r   ú<module>rI      sÏ   ðØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð �(ñ ô ð ð$ð $ð $ð $ð $˜7ð $ñ $ô $ð $ðNð ð ð ð �
ñ ô ð ð ð r   