
    uki]                         d dl mZ ddlmZ  edd      Z edd      Z edd      Z edd      Zdee	e
ee	eef      f   fd	Zde
e	   fd
Zd Zd Zy)    )Any   )import_from_plugincuda_solver_hybridrocmreturnc                  X   g g d} dt         fdt        ffD ]?  \  }}|s	| |   j                  d |j                         j	                         D               A dt
        fdt        ffD ]?  \  }}|s	| |   j                  d |j                         j	                         D               A | S )N)CUDAROCMr   r   c              3   \   K   | ]$  \  }}||t        |j                  d             f & yw_ffiN)intendswith).0namevalues      L/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/jaxlib/gpu_solver.py	<genexpr>z registrations.<locals>.<genexpr>!   s1      %dE DMM&12
3%s   *,c              3   *   K   | ]  }g |d   yw)r   N )r   is     r   r   z registrations.<locals>.<genexpr>'   s      %'A'q'%s   )	_cusolver
_hipsolverextendregistrationsitems	_cuhybrid
_hiphybrid)r   platformmodules      r   r   r      s    :- #I.0DE hH$$ %#11399;%  #I.0DE hH$$ %!//1779% 
 
    c                      g } t         t        fD ]+  }|s| j                  d |j                         D               - t        t
        fD ]+  }|s| j                  d |j                         D               - | S )Nc              3   D   K   | ]  }|j                  d       s|  ywr   )r   r   r   s     r   r   z.batch_partitionable_targets.<locals>.<genexpr>1   s       T]]65J$s     c              3       K   | ]  }|  y wNr   r'   s     r   r   z.batch_partitionable_targets.<locals>.<genexpr>6   s     =dT=s   )r   r   r   r   r    r!   )targetsr#   s     r   batch_partitionable_targetsr+   -   s{    'J' fnn !//1 
 J' >fnn=f&:&:&<==> 
.r$   c                  n    t         rt         j                          t        rt        j                          y y r)   )r    
initializer!   r   r$   r   initialize_hybrid_kernelsr.   :   s%     r$   c                  l    t         rt         j                         S t        rt        j                         S y)NF)r    	has_magmar!   r   r$   r   r0   r0   A   s)      !!	r$   N)typingr   plugin_supportr   r   r    r   r!   dictstrlisttupler   r   r+   r.   r0   r   r$   r   <module>r7      s}     .vy1	vy1		2
	2
tCeCcM&:!;;< &
T#Y 
r$   