
    &Th                     j    S SK JrJr  S SKJrJrJrJr   " S S\5      r " S S\S9r	 " S S	\	5      r
g
)    )ABCMetaabstractmethod)CallableListProtocolSequencec                   6    \ rS rSrS\S\\   S\\   4S jrSr	g)Benchmarker   kernel_call	quantilesreturnc                    g N )selfr   r   kwargss       N/var/www/auris/envauris/lib/python3.13/site-packages/triton/backends/driver.py__call__Benchmarker.__call__           r   N)
__name__
__module____qualname____firstlineno__r   r   floatr   r   __static_attributes__r   r   r   r
   r
      s'    H DK V^_dVe r   r
   c                   p    \ rS rSr\\S 5       5       r\S 5       r\S 5       r\S\	4S j5       r
S
S jrS	rg)
DriverBase   c                     g r   r   r   s    r   	is_activeDriverBase.is_active   s     	r   c                     g r   r   r#   s    r   get_current_targetDriverBase.get_current_target       r   c                     g r   r   r#   s    r   get_active_torch_device"DriverBase.get_active_torch_device   r)   r   r   c                     [         e)zK
Return the benchmarking function that this backend should use by default.
)NotImplementedErrorr#   s    r   get_benchmarkerDriverBase.get_benchmarker   s
    
 "!r   Nc                     g r   r   r#   s    r   __init__DriverBase.__init__!   r   r   r   )r   N)r   r   r   r   classmethodr   r$   r'   r+   r
   r/   r2   r   r   r   r   r    r       sd           " " "r   r    )	metaclassc                        \ rS rSrS rS rSrg)	GPUDriver%   c                    ^ SS K mTR                  R                  U l         SSKJn  Xl        TR                  R                  U l        TR                  R                  U l
        g ! [         a    U4S jU l         NNf = f)Nr   )_cuda_getCurrentRawStreamc                 N   > TR                   R                  U 5      R                  $ r   )cudacurrent_streamcuda_stream)idxtorchs    r   <lambda>$GPUDriver.__init__.<locals>.<lambda>/   s    %**2K2KC2P2\2\r   )r@   r<   get_device_capabilitytorch._Cr:   get_current_streamImportErrorcurrent_deviceget_current_device
set_deviceset_current_device)r   r:   r@   s     @r   r2   GPUDriver.__init__'   sh    %*ZZ%E%E"	]:&?# #(**";";"'**"7"7  	]&\D#	]s   A% %A=<A=c                     U$ r   r   )r   tensormaps_infoargss      r   assemble_tensormap_to_arg#GPUDriver.assemble_tensormap_to_arg4   s    r   )rH   rE   rC   rJ   N)r   r   r   r   r2   rO   r   r   r   r   r7   r7   %   s    
8r   r7   N)abcr   r   typingr   r   r   r   r
   r    r7   r   r   r   <module>rS      s2    ' 5 5( 7 4
 r   