ó
    Eñi    ã                   óâ  • % S SK r S SKrS SKrS SKJr  S SKJr  S SKrS SKJ	r	J
r
JrJrJrJr  SSKJr   S SKJr  Sq\\   \S'   \b  S	 rOS
 rS r\R2                  \R4                  \R6                  1rS rS r      SS jr\      SS j5       r  " S S\5      r!\!" \RD                  \#   \#5      \RD                  \#'   \$\S'   \$\S'   \$\S'   \$\S'   \%\S'   \\S'   g! \ a    Sr N²f = f)é    N)Úcontextmanager)ÚOptional)Ú__allow_nonbracketed_mutationÚ_FP32PrecisionÚ_get_fp32_precision_getterÚ_set_fp32_precision_setterÚContextPropÚ
PropModuleé   )Úrnn)Ú_cudnnÚ__cudnn_versionc                  óè  ^• [         Gcä  [        R                  " 5       q [        R                  " 5       n [        R                  " 5       nU u  p#nUu  pVnX%:w  a  SnO$US:  d  [        R
                  (       d  X6:H  nOX6:¬  nU(       d¥  [        R                  R                  SS5      S:X  a  gSU SU  S	3nS
[        R                  ;   aX  [        R                  R                  S
S5      m[        U4S jS 5       5      (       a  [        U SU 35      e[        U S35      e[        U5      e[        R                  R                  5       (       a   [        R                  R                  (       d�  [!        [#        [        R                  R%                  5       5       V	s/ s H"  n	[        R                  R'                  U	5      PM$     sn	5      n
[         S:¼  a  U
S:  a  [        S[          S35      egs  sn	f )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   ó,   >#   • U  H	  oT;   v •  M     g 7f©N© )Ú.0Ú	substringÚld_library_paths     €ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/backends/cudnn/__init__.pyÚ	<genexpr>Ú_init.<locals>.<genexpr>G   s   øé € ð ÚFW¸ _Ö4ÒFWù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Ñ#AÑ à#0Ñ#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óâ!A˜Aô Ÿ
™
×8Ñ8¸Ö;Ù!Añó�ô # eÓ+°¸³Ü&Ø(¬Ð(9ð :oð póð ð ùòs   Æ)G/c                  ó   • g)NFr   r   ó    r   r>   r>   j   s   € Ør@   c                  ó.   • [        5       (       d  g[        $ )zReturn the version of cuDNN.N)r>   r   r   r@   r   r-   r-   n   s   € ä�7‰7ØÜÐr@   c                  ó6   • [         R                  R                  $ )z9Return a bool indicating if CUDNN is currently available.)r+   Ú_CÚ
_has_cudnnr   r@   r   r,   r,   |   s   € ä�8‰8×ÑÐr@   c                 óš  • [         R                  R                  5       (       d  gU R                  R                  S:w  d  U R
                  [        ;  a  g[        5       (       d  [        R                  " SSS9  g[        5       (       dD  [        R                  " SR                  SSS	.R                  [        R                  S
5      S9SS9  gg)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+   rC   Ú_get_cudnn_enabledÚdeviceÚtypeÚdtypeÚCUDNN_TENSOR_DTYPESr,   ÚwarningsÚwarnr>   Úformatr(   ÚsysÚplatform)Útensors    r   Úis_acceptablerX   �   s«   € Ü�8‰8×&Ñ&×(Ñ(ØØ‡}�}×Ñ˜VÓ# v§|¡|Ô;NÓ'NØÜ�>‰>Ü�ŠðNàò	
ð
 Ü�7‰7Ü�ŠØB×IÑIØ#6ÀÑH×LÑLÜ—L‘LÐ"3óð Jð ð
 ò	
ð Ør@   c           	      óF  • [         R                  R                  5       [         R                  R                  5       [	        5       (       d  S O[         R                  R                  5       [         R                  R                  5       [         R                  R                  5       [         R                  R                  SS5      4nU b  [         R                  R                  U 5        Ub  [         R                  R                  U5        Ub.  [	        5       (       a  [         R                  R                  U5        Ub  [         R                  R                  U5        Ub  [         R                  R                  U5        Ub!  [         R                  R                  SSU5        U$ )Nr   Úall)r+   rC   rM   Ú_get_cudnn_benchmarkr,   Ú_cuda_get_cudnn_benchmark_limitÚ_get_cudnn_deterministicÚ_get_cudnn_allow_tf32r   Ú_set_cudnn_enabledÚ_set_cudnn_benchmarkÚ_cuda_set_cudnn_benchmark_limitÚ_set_cudnn_deterministicÚ_set_cudnn_allow_tf32r   )Ú_enabledÚ
_benchmarkÚ_benchmark_limitÚ_deterministicÚ_allow_tf32Ú_fp32_precisionÚ
orig_flagss          r   Ú	set_flagsrk   š   s  € ô 	�‰×#Ñ#Ó%Ü�‰×%Ñ%Ó'Ü —N‘N‰¬¯©×(PÑ(PÓ(RÜ�‰×)Ñ)Ó+Ü�‰×&Ñ&Ó(Ü�‰×+Ñ+¨F°EÓ:ð€Jð ÑÜ�‰×#Ñ# HÔ-ØÑÜ�‰×%Ñ% jÔ1ØÑ#¬¯©Ü�‰×0Ñ0Ð1AÔBØÑ!Ü�‰×)Ñ)¨.Ô9ØÑÜ�‰×&Ñ& {Ô3ØÑ"Ü�‰×+Ñ+¨F°E¸?ÔKØÐr@   c           	   #   ó8  #   • [        5          [        U UUUUU5      nS S S 5         S v •  [        5          [        W6   S S S 5        g ! , (       d  f       N/= f! , (       d  f       g = f! [        5          [        W6   S S S 5        f ! , (       d  f       f = f= f7fr   )r   rk   )ÚenabledÚ	benchmarkÚbenchmark_limitÚdeterministicÚ
allow_tf32Úfp32_precisionrj   s          r   Úflagsrs   ¹   sy   é € ô 
'Õ	(ÜØØØØØØó
ˆ
÷ 
)ð#Ûô +Õ,Ü�zÑ"÷ -Ð,÷ 
)Õ	(ú÷ -Õ,ûÔ*Õ,Ü�zÑ"÷ -×,Ö,ÿs_   ‚B�AžB§A) «
Bµ	A¾	BÁ
AÁBÁ
A&Á"BÁ)BÁ4	BÁ=	BÂ
BÂBÂBc                   óZ  • \ rS rSr\" \R                  R                  \R                  R                  5      r	\" \R                  R                  \R                  R                  5      r\" \R                  R                  \R                  R                  5      rSr\" 5       (       a1  \" \R                  R$                  \R                  R&                  5      r\" \R                  R(                  \R                  R*                  5      r\" SS5      r\" \" SS5      \" SS5      5      rSrg)ÚCudnnModuleéØ   Nr   ÚconvrZ   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r	   r+   rC   rM   r_   rm   r]   rb   rp   r[   r`   rn   ro   r,   r\   ra   r^   rc   rq   r   rw   r   r   rr   Ú__static_attributes__r   r@   r   ru   ru   Ø   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óƒNr@   ru   rm   rp   rn   rq   rr   ro   )NNNNNÚnone)FFé
   FTr}   )&r&   rU   rR   Ú
contextlibr   Útypingr   r+   Útorch.backendsr   r   r   r   r	   r
   r   r   Útorch._Cr   ÚImportErrorr   ÚintÚ__annotations__r>   r-   ÚhalfÚfloatÚdoublerQ   r,   rX   rk   rs   ru   Úmodulesrx   ÚboolÚstrr   r@   r   Ú<module>rŒ      s$  ðä 	Û 
Û Ý %Ý ã ÷÷ õ ðÝð "&€�˜#‘Ó %à	ÑóBòLòð 
‡J�JØ	‡K�KØ	‡L�LðÐ òò
ð4 ØØØØØôð> àØØØØØó#ó ð#ô<�*ô ñ4 $ C§K¡K°Ñ$9¸8ÓD€‡�ˆHÑ ð 
ƒØÓ ØƒØÓ ØÓ ØÔ øðG ó Ø‚Fðús   µC# Ã#C.Ã-C.