
    QVji	                        U d dl mZ d dlmZ d dlZd dlmZ d dlmZ dee	         fdZ
dee	         fdZeeee                           Zeed	<   ee         Zeed
<   ej        gZ e            	 ddededeeej        ej        f         eeef         f         fd            Zdej        defdZdee         dej        defdZdS )    )Optional)	TypeAliasN)Tensor)no_gradreturnc                  F    dddt           j                                        gS )z:Return the device type list that supports foreach kernels.cudaxpumtiatorch_C_get_privateuse1_backend_name     T/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/utils/_foreach_utils.py&_get_foreach_kernels_supported_devicesr   	   s    E658#I#I#K#KLLr   c                  L    ddddddt           j                                        gS )zEReturn the device type list that supports fused kernels in optimizer.mpsr	   r
   hpucpur   r   r   r   r   $_get_fused_kernels_supported_devicesr      s1     	..00 r   TensorListListIndicesFtensorlistlistwith_indicesc                 B    t           j                            | |          S N)r   r   "_group_tensors_by_device_and_dtype)r   r   s     r   r   r   +   s    
 866~|TTTr   devicec                 r    | j         t                      dgz   v ot          j                                         S )Nr   )typer   r   jitis_scripting)r    s    r   _device_has_foreach_supportr%   3   s8    >@@E7JK 	)	&&(((r   tensorsc                 R    t          |          ot          d | D                       S )Nc              3   J   K   | ]}|d u pt          |          t          v V  d S r   )r"   _foreach_supported_types).0ts     r   	<genexpr>z'_has_foreach_support.<locals>.<genexpr>;   sH       7 7=>T	8T!WW 887 7 7 7 7 7r   )r%   all)r&   r    s     r   _has_foreach_supportr.   :   s?    &v.. 3 7 7BI7 7 7 4 4 r   )F)typingr   typing_extensionsr   r   r   torch.autograd.grad_moder   liststrr   r   r   __annotations__intr   r)   booldicttupler    dtyper   r%   r.   r   r   r   <module>r:      s          ' ' ' ' ' '        , , , , , ,MS	 M M M M

d3i 
 
 
 
 !hv&6!78	 8 8 8#Y   !L>  	 U U"UU 
%ek)
*E.'2I,J
JKU U U U     $v,        r   