
    vhw                        d dl mZ d dlmZ d dlmZ d dlmZ ej                  j
                  Z	ed
d       Z
ddZddZedd       Zy	)    )annotations)contextmanager)config)
xla_clientc              #  6  K   | d  y t         j                  j                  |       }	 |%|t        j                  ur| |k7  rt        d|       |  t         j                  j                  |       y # t         j                  j                  |       w xY ww)NzaNesting `compute_on` with different compute types is not supported yet. Current compute_on type: )r   compute_on_context_manager
swap_local
config_extunsetNotImplementedError	set_local)c_typeprevs     N/opt/face_recognition/venv/lib/python3.12/site-packages/jax/_src/compute_on.pyextend_compute_typer      s     ^	
		*	*	5	5f	=$6D
(8(88Vt^,,0634 4 L
%%//5F%%//5s   'B+A5  B5!BBc                 6    t         j                  j                  S )N)r   r   value     r   current_compute_typer   '   s    		*	*	0	00r   c                N    | dvr!| j                  d      st        d|  d      y y )N>   devicedevice_hosttpu_sparsecorezgpu_stream:zInvalid compute type z]. Current supported values are `device_host`, `device`, `tpu_sparsecore`, and `gpu_stream:#`.)
startswith
ValueError)r   s    r   _check_validr   *   sF    ??.

x (M 	MN N / @r   c              #     K   t        | t              st        d      t        |        t	        |       5  d  d d d        y # 1 sw Y   y xY ww)Nz6`compute_on`'s compute_type argument must be a string.)
isinstancestr	TypeErrorr   r   )compute_types    r   
compute_onr#   1   sC     	L#	&
L
MM|<( 
	
 
 
s   2AA	AAAN)r   
str | None)returnr$   )r   r    )r"   r    )
__future__r   
contextlibr   jax._srcr   jax._src.libr   _xlar
   r   r   r   r#   r   r   r   <module>r+      sU    # %  #__##
 6 61N 
 
r   