
    sg                     X    d dl m Z  d dl mZ d Z G d d      Z G d d      Z e       Zy)	   )backends)
DriverBasec                      t        j                         D  cg c])  } | j                  j                         s| j                  + }} t	        |      dk7  rt        t	        |       d| d       |d          S c c} w )N   z active drivers (z). There should only be one.    )r   valuesdriver	is_activelenRuntimeError)xactivess     H/var/www/html/venv/lib/python3.12/site-packages/triton/runtime/driver.py_create_driverr      sm    !)!2KAahh6H6H6JqxxKGK
7|qc'l^+<WIEabcc71:< Ls
   A9A9c                   B     e Zd Zd Zd Zd Z fdZd Zd Zd Z	 xZ
S )	LazyProxyc                      || _         d | _        y N_init_fn_obj)selfinit_fns     r   __init__zLazyProxy.__init__   s    	    c                 H    | j                   | j                         | _         y y r   )r   r   r   s    r   _initialize_objzLazyProxy._initialize_obj   s    99DI r   c                 N    | j                          t        | j                  |      S r   )r   getattrr   r   names     r   __getattr__zLazyProxy.__getattr__   s    tyy$''r   c                 ~    |dv rt         |   ||       y | j                          t        | j                  ||       y )Nr   )super__setattr__r   setattrr   )r   r"   value	__class__s      r   r&   zLazyProxy.__setattr__   s7    ''Ge,  "DIItU+r   c                 P    | j                          t        | j                  |       y r   )r   delattrr   r!   s     r   __delattr__zLazyProxy.__delattr__!   s    		4 r   c                     | j                   'd| j                  j                   d| j                   dS t	        | j                         S )N<z for z not yet initialized>)r   r)   __name__r   reprr   s    r   __repr__zLazyProxy.__repr__%   s?    99t~~../uT]]OCXYYDIIr   c                 L    | j                          t        | j                        S r   )r   strr   r   s    r   __str__zLazyProxy.__str__*   s    499~r   )r/   
__module____qualname__r   r   r#   r&   r,   r1   r4   __classcell__)r)   s   @r   r   r      s&    ((,!
r   r   c                   $    e Zd Zd ZdefdZd Zy)DriverConfigc                 N    t        t              | _        | j                  | _        y r   )r   r   defaultactiver   s    r   r   zDriverConfig.__init__1   s     0llr   r	   c                     || _         y r   )r<   )r   r	   s     r   
set_activezDriverConfig.set_active5   s	    r   c                 &    | j                   | _        y r   )r;   r<   r   s    r   reset_activezDriverConfig.reset_active8   s    llr   N)r/   r5   r6   r   r   r>   r@    r   r   r9   r9   /   s    # #r   r9   N)r   r   r   r   r9   r	   rA   r   r   <module>rB      s.     !   F
# 
# 
r   