o
    ^i                     @  s>   d dl mZ ddlmZmZ dddZG dd	 d	Ze Zd
S )    )annotations   )backends
DriverBasereturnr   c                  C  s@   dd t  D } t| dkrtt|  d|  d| d  S )Nc                 S  s   g | ]
}|j  r|j qS  )driver	is_active).0xr   r   P/var/www/html/RAG/RAG_venv/lib/python3.10/site-packages/triton/runtime/driver.py
<listcomp>   s    z"_create_driver.<locals>.<listcomp>   z active drivers (z). There should only be one.r   )r   valueslenRuntimeError)active_driversr   r   r   _create_driver   s   
r   c                   @  sF   e Zd ZdddZedddZeddd	ZdddZdddZdS )DriverConfigr   Nonec                 C  s   d | _ d | _d S N)_default_activeselfr   r   r   __init__   s   
zDriverConfig.__init__r   c                 C  s   | j d u r	t | _ | j S r   )r   r   r   r   r   r   default      
zDriverConfig.defaultc                 C  s   | j d u r	| j| _ | j S r   )r   r   r   r   r   r   active   r   zDriverConfig.activer   c                 C  s
   || _ d S r   )r   )r   r   r   r   r   
set_active   s   
zDriverConfig.set_activec                 C  s   | j | _d S r   )r   r   r   r   r   r   reset_active"   s   zDriverConfig.reset_activeN)r   r   r   r   )r   r   r   r   )	__name__
__module____qualname__r   propertyr   r   r   r    r   r   r   r   r      s    

r   Nr!   )
__future__r   r   r   r   r   r   r   r   r   r   <module>   s
    

