Ë
    ÄÓ^j¦!  ã                   óè  — U d dl Z d dlZd dlZd dlmZ d dlmZ d dlZd dlm	Z	m
Z
mZmZmZmZ ddlmZ 	 d dlmZ daedz  ed<   e�d	„ Znd
„ Zd„ Zej2                  ej4                  ej6                  hZd„ Zd„ Z	 	 	 	 	 	 	 dd„Ze	 	 	 	 	 	 	 dd„«       Z  G d„ de«      Z! e!ejD                  e#   e#«      ejD                  e#<   e$ed<   e$ed<   e$ed<   e$ed<   e%ed<   eed<   e%ed<   y# e$ r dZY Œµw xY w)é    N)Úcontextmanager)ÚOptional)Ú__allow_nonbracketed_mutationÚ_FP32PrecisionÚ_get_fp32_precision_getterÚ_set_fp32_precision_setterÚContextPropÚ
PropModuleé   )Úrnn)Ú_cudnnÚ__cudnn_versionc                  ó¢  ‡— t         �€Ât        j                  «       a t        j                  «       } t        j                  «       }| \  }}}|\  }}}||k7  rd}n |dk  st        j
                  s||k(  }n||k\  }|sœt        j                  j                  dd«      dk(  ryd|› d| › d	�}d
t        j                  v rRt        j                  j                  d
d«      Št        ˆfd„dD «       «      rt        |› d|› �«      ‚t        |› d�«      ‚t        |«      ‚t        j                  j                  «       r–t        j                  j                  s|t!        t#        t        j                  j%                  «       «      D �	cg c]!  }	t        j                  j'                  |	«      ‘Œ# c}	«      }
t         dk\  r|
dk  rt        dt         › d�«      ‚yc c}	w )NFé   Ú&PYTORCH_SKIP_CUDNN_COMPATIBILITY_CHECKÚ0Ú1Tz=cuDNN version incompatibility: PyTorch was compiled  against z but found runtime version z€. PyTorch already comes bundled with cuDNN. One option to resolving this error is to ensure PyTorch can find the bundled cuDNN. ÚLD_LIBRARY_PATHÚ c              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­w©N© )Ú.0Ú	substringÚld_library_paths     €úh/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/torch/backends/cudnn/__init__.pyú	<genexpr>z_init.<locals>.<genexpr>G   s   øè ø€ ò Ø9B˜	 _Ô4ñùs   ƒ)ÚcudaÚcudnnzLooks like your LD_LIBRARY_PATH contains incompatible version of cudnn. Please either remove it from the path or install cudnn zHone possibility is that there is a conflicting cuDNN in LD_LIBRARY_PATH.iÜc )r   é   zcuDNN version zÈ is not compatible with devices with SM < 7.5. Please install a version of PyTorch with a compatible cuDNN version. https://github.com/pytorch/pytorch/blob/main/RELEASE.md#release-compatibility-matrix)r   r   ÚgetVersionIntÚgetRuntimeVersionÚgetCompileVersionÚis_cudaÚosÚenvironÚgetÚanyÚRuntimeErrorÚtorchr   Úis_availableÚversionÚhipÚminÚrangeÚdevice_countÚget_device_capability)Úruntime_versionÚcompile_versionÚruntime_majorÚruntime_minorÚ_Úcompile_majorÚcompile_minorÚcudnn_compatibleÚbase_error_msgÚiÚmin_ccr   s              @r   Ú_initr=   $   sì  ø€ äÑ"ä$×2Ñ2Ó4ˆOä$×6Ñ6Ó8ˆOä$×6Ñ6Ó8ˆOØ.=Ñ+ˆM˜=¨!Ø.=Ñ+ˆM˜=¨!ð  Ò-Ø#(Ñ à Ò"¬&¯.ª.Ø#0°MÑ#AÑ à#0°MÑ#AÐ Ù#Ü—:‘:—>‘>Ð"JÈCÓPÐTWÒWØð5Ø5DÐ4Eð F1Ø1@Ð0Að B3ð4ð ð %¬¯
©
Ñ2Ü&(§j¡j§n¡nÐ5FÈÓ&K�OÜó ØFWôô ô +Ø-Ð.ðVØVeÐUfðhóð ô +Ø-Ð.ðDðEóð ô ' ~Ó6Ð6ä�z‰z×&Ñ&Ô(´·±×1BÒ1BÜô "'¤u§z¡z×'>Ñ'>Ó'@Ó!Aöàô Ÿ
™
×8Ñ8¸Õ;òó�ô # eÒ+°¸²Ü&Ø(¬Ð(9ð :oð póð ð ùòs   Å=&Gc                   ó   — y)NFr   r   ó    r   r=   r=   j   s   € Ør?   c                  ó$   — t        «       syt        S )zReturn the version of cuDNN.N)r=   r   r   r?   r   r,   r,   n   s   € äŒ7ØÜÐr?   c                  ó6   — t         j                  j                  S )z9Return a bool indicating if CUDNN is currently available.)r*   Ú_CÚ
_has_cudnnr   r?   r   r+   r+   |   s   € ä�8‰8×ÑÐr?   c                 ó„  — t         j                  j                  «       sy| j                  j                  dk7  s| j
                  t        vryt        «       st        j                  dd¬«       yt        «       sIt        j                  dj                  ddd	œj                  t        j                  d
«      ¬«      d¬«       yy)NFr   z�PyTorch was compiled without cuDNN/MIOpen support. To use cuDNN/MIOpen, rebuild PyTorch making sure the library is visible to the build system.é   )Ú
stacklevelz4cuDNN/MIOpen library not found. Check your {libpath}ÚDYLD_LIBRARY_PATHÚPATH)ÚdarwinÚwin32r   )ÚlibpathT)r*   rB   Ú_get_cudnn_enabledÚdeviceÚtypeÚdtypeÚCUDNN_TENSOR_DTYPESr+   ÚwarningsÚwarnr=   Úformatr'   ÚsysÚplatform)Útensors    r   Úis_acceptablerW   �   s¤   € Ü�8‰8×&Ñ&Ô(ØØ‡}�}×Ñ˜VÒ# v§|¡|Ô;NÑ'NØÜŒ>Ü�‰ðNàõ	
ð
 ÜŒ7Ü�‰ØB×IÑIØ#6ÀÑH×LÑLÜ—L‘LÐ"3óð Jó ð
 õ	
ð Ør?   c           	      ó¢  — t         j                  j                  «       t         j                  j                  «       t	        «       sd nt         j                  j                  «       t         j                  j                  «       t         j                  j                  «       t         j                  j                  dd«      t         j                  j                  «       f}| �t         j                  j                  | «       |�t         j                  j                  |«       |�)t	        «       rt         j                  j                  |«       |�t         j                  j                  |«       |�t         j                  j                  |«       |�!t         j                  j                  dd|«       |�t         j                  j!                  |«       |S )Nr   Úall)r*   rB   rL   Ú_get_cudnn_benchmarkr+   Ú_cuda_get_cudnn_benchmark_limitÚ_get_cudnn_deterministicÚ_get_cudnn_allow_tf32r   Ú_get_cudnn_depthwise_kernelÚ_set_cudnn_enabledÚ_set_cudnn_benchmarkÚ_cuda_set_cudnn_benchmark_limitÚ_set_cudnn_deterministicÚ_set_cudnn_allow_tf32r   Ú_set_cudnn_depthwise_kernel)Ú_enabledÚ
_benchmarkÚ_benchmark_limitÚ_deterministicÚ_allow_tf32Ú_fp32_precisionÚ_depthwise_kernelÚ
orig_flagss           r   Ú	set_flagsrm   š   s?  € ô 	�‰×#Ñ#Ó%Ü�‰×%Ñ%Ó'Ü ”N‰¬¯©×(PÑ(PÓ(RÜ�‰×)Ñ)Ó+Ü�‰×&Ñ&Ó(Ü�‰×+Ñ+¨F°EÓ:Ü�‰×,Ñ,Ó.ð€Jð ÐÜ�‰×#Ñ# HÔ-ØÐÜ�‰×%Ñ% jÔ1ØÐ#¬¬Ü�‰×0Ñ0Ð1AÔBØÐ!Ü�‰×)Ñ)¨.Ô9ØÐÜ�‰×&Ñ& {Ô3ØÐ"Ü�‰×+Ñ+¨F°E¸?ÔKØÐ$Ü�‰×,Ñ,Ð->Ô?ØÐr?   c           
   #   ó  K  — t        «       5  t        | ||||||«      }d d d «       	 d –— t        «       5  t        Ž  d d d «       y # 1 sw Y   Œ*xY w# 1 sw Y   y xY w# t        «       5  t        Ž  d d d «       w # 1 sw Y   w xY wxY w­wr   )r   rm   )ÚenabledÚ	benchmarkÚbenchmark_limitÚdeterministicÚ
allow_tf32Úfp32_precisionÚdepthwise_kernelrl   s           r   Úflagsrv   ½   s–   è ø€ ô 
'Ó	(ñ 	
ÜØØØØØØØó
ˆ
÷	
ð#Ûô +Ó,ñ 	#Ü�zÑ"÷	#ð 	#÷	
ð 	
ú÷	#ð 	#ûÔ*Ó,ñ 	#Ü�zÑ"÷	#÷ 	#ñ 	#ÿs_   ‚B�AŸB¨A  ¬
B¶	A¿	BÁAÁBÁAÁBÁ B	Á+	A=Á4	B	Á=BÂB	Â	Bc                   óª  — e Zd Z eej
                  j                  ej
                  j                  «      Z eej
                  j                  ej
                  j                  «      Z eej
                  j                  ej
                  j                  «      ZdZ e«       r1 eej
                  j"                  ej
                  j$                  «      Z eej
                  j&                  ej
                  j(                  «      Z edd«      Z e edd«       edd«      «      Z eej
                  j6                  ej
                  j8                  «      Zy)ÚCudnnModuleNr   ÚconvrY   )Ú__name__Ú
__module__Ú__qualname__r	   r*   rB   rL   r_   ro   r\   rb   rr   rZ   r`   rp   rq   r+   r[   ra   r]   rc   rs   r   ry   r   r   rt   r^   rd   ru   r   r?   r   rx   rx   Þ   s  „ Ù˜%Ÿ(™(×5Ñ5°u·x±x×7RÑ7RÓS€GÙØ�‰×)Ñ)¨5¯8©8×+LÑ+Ló€Mñ Ø�‰×%Ñ% u§x¡x×'DÑ'Dó€Ið €OÙ„~Ù%Ø�H‰H×4Ñ4Ø�H‰H×4Ñ4ó
ˆñ Ø�‰×&Ñ&¨¯©×(FÑ(Fó€Jñ ˜& &Ó)€DÙ Ù" 6¨5Ó1Ù" 6¨5Ó1ó€Nñ #Ø�‰×,Ñ,Ø�‰×,Ñ,óÑr?   rx   ro   rr   rp   rs   rt   rq   ru   )NNNNNÚnoneN)FFé
   FTr}   Úauto)&r%   rT   rQ   Ú
contextlibr   Útypingr   r*   Útorch.backendsr   r   r   r   r	   r
   r   r   Útorch._Cr   ÚImportErrorr   ÚintÚ__annotations__r=   r,   ÚhalfÚfloatÚdoublerP   r+   rW   rm   rv   rx   Úmodulesrz   ÚboolÚstrr   r?   r   ú<module>r�      s2  ðä 	Û 
Û Ý %Ý ã ÷÷ õ ðÝð #€��t‘Ó "à	ÐóBòLòð 
‡J�JØ	‡K�KØ	‡L�LðÐ òò
ð4 ØØØØØØó ðF àØØØØØØò#ó ð#ô@�*ô ñ< $ C§K¡K°Ñ$9¸8ÓD€‡�ˆHÑ ð 
ƒØÓ ØƒØÓ ØÓ ØÓ ØÔ øð] ò Ø‚Fðús   µC' Ã'C1Ã0C1