Ë
    [^(h  ã                   ó(  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlmZ d dlm	Z	 d„ Z
d„ Zdj                  «       Zd„ Zdd„Zd	j                  «       Zdd
„Zd„ Zdj                  «       Zdd„Zdj                  «       Zd„ Zd„ Zd„ Zedk(  r e«        yy)é    N)Úprofiler)Úget_env_infoc                 ó0   — | d d  t         j                  d d  y ©N)ÚsysÚargv)Únew_argvs    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/utils/bottleneck/__main__.pyÚredirect_argvr      s   € Ø™1�+„C‡H�H‰Q�Kó    c                 ó:   — | j                   rd| j                   › �S y)Nzcompiled w/ CUDA znot compiled w/ CUDA)Úcuda_compiled_version)Úsysinfos    r
   Úcompiled_with_cudar      s"   € Ø×$Ò$Ø" 7×#@Ñ#@Ð"AÐBÐBØ!r   a\  
--------------------------------------------------------------------------------
  Environment Summary
--------------------------------------------------------------------------------
PyTorch {pytorch_version}{debug_str} {cuda_compiled}
Running with Python {py_version} and {cuda_runtime}

`{pip_version} list` truncated output:
{pip_list_output}
c                  ó‚  — t        d«       t        «       } i }d}| j                  rd}d}| j                  r| j                  }|�d|z   }nd}| j
                  }| j                  }|€d}|| j                  t        | «      t        j                  d   › dt        j                  d	   › �|||d
œ}t        j                  di |¤ŽS )NzRunning environment analysis...Ú z DEBUGzCUDA zCUDA unavailablezUnable to fetchr   ú.é   )Ú	debug_strÚpytorch_versionÚcuda_compiledÚ
py_versionÚcuda_runtimeÚpip_versionÚpip_list_output© )Úprintr   Úis_debug_buildÚis_cuda_availableÚcuda_runtime_versionr   Úpip_packagesÚtorch_versionr   r   Úversion_infoÚenv_summaryÚformat)ÚinfoÚresultr   Ú
cuda_availÚcudar   r   s          r
   Úrun_env_analysisr*   #   sÚ   € Ü	Ð
+Ô,Ü‹>€Dà€Fà€IØ×ÒØˆ	à€JØ×ÒØ×(Ñ(ˆØÐØ  4™‰Jà!ˆà×"Ñ"€KØ×'Ñ'€OØÐØ+ˆð Ø×-Ñ-Ü+¨DÓ1Ü×)Ñ)¨!Ñ,Ð-¨Q¬s×/?Ñ/?ÀÑ/BÐ.CÐDØ"Ø"Ø*ñ€Fô ×ÑÑ' Ñ'Ð'r   c                 óž   — t        d«       t        j                  «       }|j                  «        t	        | |d «       |j                  «        |S )Nz!Running your script with cProfile)r   ÚcProfileÚProfileÚenableÚexecÚdisable)ÚcodeÚglobsÚlaunch_blockingÚprofs       r
   Úrun_cprofiler5   G   s<   € Ü	Ð
-Ô.Ü×ÑÓ€DØ‡K�K„MÜˆˆu�dÔØ‡L�L„NØ€Kr   zµ
--------------------------------------------------------------------------------
  cProfile output
--------------------------------------------------------------------------------
c                 óŒ   — t        t        «       t        j                  | «      j	                  |«      }|j                  |«       y r   )r   Úcprof_summaryÚpstatsÚStatsÚ
sort_statsÚprint_stats)r4   ÚsortbyÚtopkÚcprofile_statss       r
   Úprint_cprofile_summaryr?   W   s1   € Ü	Œ-ÔÜ—\‘\ $Ó'×2Ñ2°6Ó:€NØ×Ñ˜tÕ$r   c                 óÔ   ‡ ‡— dˆ ˆfd„	}t        d«        |d¬«      g}t        j                  j                  «       r|j	                   |d¬«      «       |S |j	                  d «       |S )NFc                 óz   •— t        j                  | ¬«      5 }t        ‰‰d «       d d d «       |S # 1 sw Y   S xY w)N©Úuse_cuda)r   Úprofiler/   )rC   r4   r1   r2   s     €€r
   Úrun_profz#run_autograd_prof.<locals>.run_prof^   s9   ø€ Ü×Ñ xÔ0ð 	$°DÜ��u˜dÔ#÷	$àˆ÷	$àˆús   ˜0°:z1Running your script with the autograd profiler...rB   T©F)r   Útorchr)   Úis_availableÚappend)r1   r2   rE   r'   s   ``  r
   Úrun_autograd_profrJ   ]   s[   ù€ öô
 
Ð
=Ô>Ù Ô&Ð'€FÜ‡z�z×ÑÔ Ø�‰‘h¨Ô-Ô.ð €Mð 	�‰�dÔà€Mr   zú
--------------------------------------------------------------------------------
  autograd profiler output ({mode} mode)
--------------------------------------------------------------------------------
        {description}
{cuda_warning}
{output}
c                 óJ  ‡— g d¢}‰|vrd}t        |j                  ‰«      «       dŠ|dk(  rd}nd}t        | j                  ˆfd„d¬	«      }|d | }|d
|› d‰› �t        j
                  j                  j                  |«      |dœ}	t        t        j                  di |	¤Ž«       y )N)Úcpu_timeÚ	cuda_timeÚcpu_time_totalÚcuda_time_totalÚcountzŽWARNING: invalid sorting option for autograd profiler results: {}
Expected `cpu_time`, `cpu_time_total`, or `count`. Defaulting to `cpu_time`.rL   ÚCUDAzº
	Because the autograd profiler uses the CUDA event API,
	the CUDA time column reports approximately max(cuda_time, cpu_time).
	Please ignore this output if your code does not use CUDA.
r   c                 ó   •— t        | ‰«      S r   )Úgetattr)Úxr<   s    €r
   ú<lambda>z-print_autograd_prof_summary.<locals>.<lambda>ˆ   s   ø€ ¬°°FÓ);€ r   T)ÚkeyÚreverseztop z events sorted by )ÚmodeÚdescriptionÚoutputÚcuda_warningr   )	r   r%   ÚsortedÚfunction_eventsrG   ÚautogradÚprofiler_utilÚ_build_tableÚautograd_prof_summary)
r4   rX   r<   r=   Úvalid_sortbyÚwarnr[   Úsorted_eventsÚtopk_eventsr'   s
     `       r
   Úprint_autograd_prof_summaryrf   w   sº   ø€ ÚZ€LØ�\Ñ!ð,ˆô 	ˆd�k‰k˜&Ó!Ô"Øˆàˆv‚~ðX‰ð ˆä˜4×/Ñ/Û;ÀTôK€Mà  Ð&€Kð Ø˜d˜VÐ#5°f°XÐ>Ü—.‘.×.Ñ.×;Ñ;¸KÓHØ$ñ	€Fô 
Ô
×
&Ñ
&Ñ
0¨Ñ
0Õ1r   aØ  
`bottleneck` is a tool that can be used as an initial step for debugging
bottlenecks in your program.

It summarizes runs of your script with the Python profiler and PyTorch's
autograd profiler. Because your script will be profiled, please ensure that it
exits in a finite amount of time.

For more complicated uses of the profilers, please see
https://docs.python.org/3/library/profile.html and
https://pytorch.org/docs/main/autograd.html#profiler for more information.
c                  óÔ   — t        j                  t        ¬«      } | j                  dt        d¬«       | j                  dt        t         j
                  d¬«       | j                  «       S )N)rY   Ú
scriptfilezGPath to the script to be run. Usually run with `python path/to/script`.)ÚtypeÚhelpÚargsz2Command-line arguments to be passed to the script.)ri   Únargsrj   )ÚargparseÚArgumentParserÚdescriptÚadd_argumentÚstrÚ	REMAINDERÚ
parse_args)Úparsers    r
   rs   rs   £   sd   € Ü×$Ñ$´Ô:€FØ
×Ñ˜¬3ðDð ô Eð ×Ñ˜¤S´×0BÑ0BØQð ô Sà×ÑÓÐr   c                 ó:   — t        d„ | j                  D «       «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wr   )rN   )Ú.0Úevents     r
   ú	<genexpr>z!cpu_time_total.<locals>.<genexpr>®   s   è ø€ ÒO¨ˆu×#Õ#ÑOùs   ‚)Úsumr]   )Úautograd_profs    r
   rN   rN   ­   s   € ÜÑO°×1NÑ1NÔOÓOÐOr   c                  óÚ  — t        «       } | j                  }| j                  €g n| j                  }|j                  d|«       d}d}d}d}t	        |«       t
        j                  j                  dt        j                  j                  |«      «       t        |d«      5 }t        |j                  «       |d«      }d d d «       |dd d dœ}	t        t        «       t        «       }
t        j                   j#                  «       rt        j                   j%                  «        t'        |	«      }t)        ||	«      \  }}t        |
«       t+        |||«       t        j                   j#                  «       st-        |d	||«       y t/        |«      }t1        |j2                  «      dkD  r/t/        |«      }||z
  |z  }t5        |«      d
kD  rt-        |d	||«       t-        |d||«       y # 1 sw Y   �Œ'xY w)Nr   Útottimeé   rN   Úrbr/   Ú__main__)Ú__file__Ú__name__Ú__package__Ú
__cached__ÚCPUgš™™™™™©?rQ   )rs   rh   rk   Úinsertr   r   ÚpathÚosÚdirnameÚopenÚcompileÚreadr   ro   r*   rG   r)   rH   Úinitr5   rJ   r?   rf   rN   Úlenr]   Úabs)rk   rh   Ú
scriptargsÚcprofile_sortbyÚcprofile_topkÚautograd_prof_sortbyÚautograd_prof_topkÚstreamr1   r2   r$   Úcprofile_profÚautograd_prof_cpuÚautograd_prof_cudaÚcuda_prof_exec_timeÚcpu_prof_exec_timeÚpct_diffs                    r
   Úmainrœ   ±   s³  € Ü‹<€Dð —‘€JØ—y‘yÐ(‘¨d¯i©i€JØ×Ñ�a˜Ô$Ø€OØ€MØ+ÐØÐä�*Ôä‡H�H‡O�O�A”r—w‘w—‘ zÓ2Ô3Ü	ˆj˜$Ó	ð : 6Ü�v—{‘{“} j°&Ó9ˆ÷:ð ØØØñ	€Eô 
Œ(„Oä"Ó$€Kä‡z�z×ÑÔ Ü�
‰
�‰ÔÜ   uÓ-€MÜ,=¸dÀEÓ,JÑ)ÐÐ)ä	ˆ+ÔÜ˜=¨/¸=ÔIä�:‰:×"Ñ"Ô$Ü#Ð$5°uÐ>RÐTfÔgØô )Ð);Ó<ÐÜ
Ð×,Ñ,Ó-°Ò1Ü+Ð,=Ó>ÐØ'Ð*<Ñ<Ð@SÑSˆÜˆx‹=˜4ÒÜ'Ð(9¸5ÐBVÐXjÔkäÐ 2°FÐ<PÐRdÕe÷E:ñ :ús   ÂG Ç G*r€   rF   )r}   r~   )rL   r~   )rm   r,   r8   r   rˆ   rG   Útorch.autogradr   Útorch.utils.collect_envr   r   r   Ústripr$   r*   r5   r7   r?   rJ   ra   rf   ro   rs   rN   rœ   r‚   r   r   r
   ú<module>r       s³   ðã Û Û Û 
Û 	ã Ý #Ý 0òò"ð	÷ 
�EƒGð ò!(óHð÷ 
�EƒGð	 ó%òð ÷ 
�EƒGð ó2ð<÷ 
�EƒGð 	òòPò1fðf ˆzÒÙ…Fð r   