Ë
    g^(hò,  ã                   ó¦   — d dl Z d dlZd dlmZ d dlZd dlZd dlmZmZm	Z	m
Z
mZ d dlmZmZmZmZmZmZ dgZ edd¬«       G d„ d«      «       Zd	„ Zy)
é    N)Ú
deprecated)Ú_disable_profiler_legacyÚ_enable_profiler_legacyÚ
DeviceTypeÚProfilerConfigÚProfilerState)Ú_filter_nameÚ_filter_stack_entryÚ_rewrite_nameÚ	EventListÚFunctionEventÚMEMORY_EVENT_NAMEÚprofilez„`torch.autograd.profiler_legacy.profile` is deprecated and will be removed in a future release. Please use `torch.profiler` instead.)Úcategoryc                   óx  — e Zd ZdZ	 ddddddddœd„Zd„ Zd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Z	 	 	 	 	 	 	 dd„Zej                  j                  e_        d„ Zej                  j                  e_        ddedefd„Zdd„Zej"                  j                  e_        d„ Zej$                  j                  e_        ed„ «       Zy)r   z'DEPRECATED: use torch.profiler instead.F)Úuse_cudaÚrecord_shapesÚ
with_flopsÚprofile_memoryÚ
with_stackÚwith_modulesc                óØ  — || _         | j                   sy || _        d | _        d| _        || _        || _        | xj                  | j
                  z  c_        || _        || _        || _        | j                  r<t        j                  j                  «       st        j                  dd¬«       d| _        | j                  rt        j                  | _        y t        j"                  | _        y )NFz/CUDA is not available, disabling CUDA profilingé   )Ú
stacklevel)Úenabledr   Úfunction_eventsÚenteredr   r   r   r   r   ÚtorchÚcudaÚis_availableÚwarningsÚwarnr   ÚCUDAÚprofiler_kindÚCPU)Úselfr   r   r   r   r   r   r   s           ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/autograd/profiler_legacy.pyÚ__init__zprofile.__init__$   sº   € ð %ˆŒØ�|Š|ØØ ˆŒØ#ˆÔØˆŒØ*ˆÔØ$ˆŒØ×Ò˜dŸo™oÑ-ÕØ,ˆÔØ$ˆŒØ(ˆÔà�=Š=¤§¡×!8Ñ!8Ô!:Ü�M‰MØAØõð "ˆDŒMà�=Š=Ü!.×!3Ñ!3ˆDÕä!.×!2Ñ!2ˆDÕó    c           
      óè   — t        | j                  | j                  | j                  | j                  | j
                  | j                  t        j                  j                  j                  «       «      S ©N)r   r$   r   r   r   r   r   r   Ú_CÚ	_profilerÚ_ExperimentalConfig©r&   s    r'   Úconfigzprofile.configH   sW   € ÜØ×ÑØ×ÑØ×ÑØ�O‰OØ�O‰OØ×Ñä�H‰H×Ñ×2Ñ2Ó4ó	
ð 		
r)   c                 ó|   — | j                   sy | j                  rt        d«      ‚d| _        | j                  «        | S )Nz)Profiler context manager is not reentrantT)r   r   ÚRuntimeErrorÚ_start_tracer/   s    r'   Ú	__enter__zprofile.__enter__T   s7   € Ø�|Š|ØØ�<Š<ÜÐJÓKÐKØˆŒØ×ÑÔØˆr)   c                 ó6   — t        | j                  «       «       y r+   )r   r0   r/   s    r'   r3   zprofile._start_trace]   s   € Ü §¡£Õ.r)   c                 ó<  — | j                   sy | j                  rt        j                  j	                  «        t        «       }t        |«      }t        || j                  rdnd | j                  | j                  ¬«      | _
        | j                  j                  «        y)Nr   )Ú
use_devicer   r   F)r   r   r   r   Úsynchronizer   Ú_parse_legacy_recordsr   r   r   r   Ú_build_tree)r&   Úexc_typeÚexc_valÚexc_tbÚrecordsÚparsed_resultss         r'   Ú__exit__zprofile.__exit__`   sw   € Ø�|Š|ØØ�=Š=Ü�J‰J×"Ñ"Ô$ä*Ó,ˆÜ.¨wÓ7ˆÜ(ØØ!%§¢‘v°DØ×.Ñ.Ø—‘ô	 
ˆÔð 	×Ñ×(Ñ(Ô*Ør)   c                 óF   — | j                   €yt        | j                   «      S )Nz$<unfinished profiler_legacy.profile>)r   Úreprr/   s    r'   Ú__repr__zprofile.__repr__q   s"   € Ø×ÑÐ'Ø9Ü�D×(Ñ(Ó)Ð)r)   c                 óF   — | j                   €yt        | j                   «      S )Nz,<unfinished profile.profiler_legacy.profile>)r   Ústrr/   s    r'   Ú__str__zprofile.__str__v   s"   € Ø×ÑÐ'ØAÜ�4×'Ñ'Ó(Ð(r)   c                 ó2   — | j                   €t        d«      ‚y )NzProfiler didn't finish running)r   r2   r/   s    r'   Ú_check_finishzprofile._check_finish{   s   € Ø×ÑÐ'ÜÐ?Ó@Ð@ð (r)   Nc           	      ó‚   — | j                  «        | j                  €J ‚| j                  j                  |||||||¬«      S )N)Úsort_byÚ	row_limitÚmax_src_column_widthÚmax_name_column_widthÚmax_shapes_column_widthÚheaderÚtop_level_events_only)rH   r   Útable)r&   rJ   rK   rL   rM   rN   rO   rP   s           r'   rQ   zprofile.table   sU   € ð 	×ÑÔØ×#Ñ#Ð/Ð/Ð/Ø×#Ñ#×)Ñ)ØØØ!5Ø"7Ø$;ØØ"7ð *ó 
ð 	
r)   c                 ót   — | j                  «        | j                  €J ‚| j                  j                  |«      S r+   )rH   r   Úexport_chrome_trace)r&   Úpaths     r'   rS   zprofile.export_chrome_trace—   s7   € Ø×ÑÔØ×#Ñ#Ð/Ð/Ð/Ø×#Ñ#×7Ñ7¸Ó=Ð=r)   rT   Úmetricc                 ó¦   — | j                  «        | j                  €J d«       ‚| j                  sJ d«       ‚| j                  j                  ||«      S )NúExpected profiling resultsz(export_stacks() requires with_stack=True)rH   r   r   Úexport_stacks)r&   rT   rU   s      r'   rX   zprofile.export_stacksž   sQ   € Ø×ÑÔØ×#Ñ#Ð/ÐMÐ1MÓMÐ/Ø�ŠÐJÐ JÓJˆØ×#Ñ#×1Ñ1°$¸Ó?Ð?r)   c                 ó€   — | j                  «        | j                  €J d«       ‚| j                  j                  ||«      S ©NrW   )rH   r   Úkey_averages)r&   Úgroup_by_input_shapeÚgroup_by_stack_ns      r'   r[   zprofile.key_averages¤   sA   € Ø×ÑÔØ×#Ñ#Ð/ÐMÐ1MÓMÐ/Ø×#Ñ#×0Ñ0Ð1EÐGWÓXÐXr)   c                 ó|   — | j                  «        | j                  €J d«       ‚| j                  j                  «       S rZ   )rH   r   Útotal_averager/   s    r'   r_   zprofile.total_average«   s;   € Ø×ÑÔØ×#Ñ#Ð/ÐMÐ1MÓMÐ/Ø×#Ñ#×1Ñ1Ó3Ð3r)   c                 ój   — | j                  «        | j                  €J ‚| j                  j                  S )z;Return CPU time as the sum of self times across all events.)rH   r   Úself_cpu_time_totalr/   s    r'   ra   zprofile.self_cpu_time_total²   s4   € ð 	×ÑÔØ×#Ñ#Ð/Ð/Ð/Ø×#Ñ#×7Ñ7Ð7r)   )T)Néd   éK   é7   éP   NF)ra   )Fr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   r0   r4   r3   r@   rC   rF   rH   rQ   r   rS   rE   rX   r[   r_   Úpropertyra   © r)   r'   r   r      sù   „ ñ 2ð ð"3ð ØØØØØô"3òH

òò/òò"*ò
)ò
Að ØØØ Ø "ØØ#ó
ð, —O‘O×+Ñ+€E„Mò>ð
 #,×"?Ñ"?×"GÑ"GÐÔñ@ #ð @¨só @óYð
 %×1Ñ1×9Ñ9€LÔò4ð
 &×3Ñ3×;Ñ;€MÔàñ8ó ñ8r)   c                 ó	  — d„ }d }g }t         j                  j                  | «      D ]  }|j                  «       }|�Œ|dk(  sŒ|}Œ |�|j	                  «       rJ ‚| D �]	  }i }i }i }	t        «       }
d }|D �]î  } ||«      }t        |j                  «       «      s||
v r|
j                  |«       Œ;|j                  «       dk(  rŽ|�{|j                  «       |j                  «       k(  xrD |j                  «       |j                  «       k(  xr! |j                  «       |j                  «       k(  }|r|
j                  |«       ŒË||	|<   d||<   d||<   �n|j                  «       dk(  �r"||	v sJ d|› d�«       ‚|	|   }||   }||   }|j                  «       xs! |j                  «       |j                  «       k7  }|j	                  «       }|j                  «       }t        d$i d|j                  «       “d	|j                  «       “d
t        |j                  «       d¬«      “dt        |j                  «       d¬«      “d|j                  «       “d|j!                  |«      “d|j!                  |«      “d|j#                  «       “d|j%                  «       “d|j'                  «       D �cg c]  }t)        |«      sŒ|‘Œ c}“d|j+                  «       “d|j-                  «       rdnd “d|“d|“d|“d|“d|j/                  «       “dt0        j2                  “dd“d|“Ž}|sU|j-                  «       rE|j5                  |«      }|dkD  r/|j7                  |j                  «       |j9                  «       |«       |j;                  |«       |	|= ||= ||= nÛ|j                  «       d k(  rÈt=        |«      }t=        |«      }||k(  sJ ‚|j?                  «       D ]  }||xx   |jA                  «       z  cc<   Œ |j?                  «       D ]  }||xx   |jC                  «       z  cc<   Œ |dk(  rFt        dtD        d dddg |jA                  «       |jC                  «       d¬!«
      }|j;                  |«       |}�Œñ �Œ |jG                  d"„ ¬#«       |S c c}w )%Nc                 óB   — | j                  «       | j                  «       fS )zPReturn a tuple for correlating start and end records in `_parse_legacy_records`.)ÚhandleÚnode_id)Úrecords    r'   Ú_get_record_keyz._parse_legacy_records.<locals>._get_record_key»   s   € à—‘“ §¡Ó!1Ð2Ð2r)   Ú__start_profileÚpushr   ÚpopzExpected record with key zo to exist in range_starts.
                    This means that the pop event did not have a corresponding push.Úidro   ÚnameT)rv   Úwith_wildcardÚ
trace_nameFÚthreadÚstart_usÚend_usÚ
fwd_threadÚinput_shapesÚstackÚscoper7   r   Úcpu_memory_usageÚdevice_memory_usageÚis_asyncÚ	is_remoteÚsequence_nrÚdevice_typeÚ	is_legacyÚflopsÚmemory_alloc)
ru   rv   rx   ry   rz   r{   r~   r€   r�   r†   c                 ó\   — | j                   j                  | j                   j                   gS r+   )Ú
time_rangeÚstartÚend)Úevts    r'   ú<lambda>z'_parse_legacy_records.<locals>.<lambda>7  s"   €  C§N¡N×$8Ñ$8¸3¿>¹>×;MÑ;MÐ:MÐ#N€ r)   )Úkeyrk   )$Ú	itertoolsÚchainÚfrom_iterablerv   rƒ   Úsetr	   ÚaddÚkindro   r‚   Ú	thread_idr‡   r   rn   r   Úcpu_elapsed_usÚfwd_thread_idÚshapesr~   r
   r   Úhas_cudar„   r   r%   Úcuda_elapsed_usÚappend_kernelÚdeviceÚappendÚlenÚkeysr€   Úcuda_memory_usager   Úsort)Úthread_recordsrq   Ústart_recordÚ	functionsrp   rv   Úthread_record_listÚcpu_memory_allocsÚcuda_memory_allocsÚrange_startsÚfiltered_handlesÚprev_recordÚ
record_keyÚ	duplicater‹   r€   r¡   r‚   Úis_remote_eventÚstart_flopsÚentryÚfeÚdurationÚnum_open_handles_cpuÚnum_open_handles_cudarn   s                             r'   r9   r9   º   sñ  € ò3ð €LØ€Iô —/‘/×/Ñ/°Ó?ò "ˆØ�{‰{‹}ˆØÑ DÐ,=Ó$=Ø!‰Lð"ð
 Ð#¨L×,BÑ,BÔ,DÐDÐDà,ó e!ÐàÐØÐàˆä›5ÐØˆØ(ó \	!ˆFÙ(¨Ó0ˆJÜ˜FŸK™K›MÔ*¨jÐ<LÑ.LØ ×$Ñ$ ZÔ0Øà�{‰{‹} Ò&ð Ð*à#×(Ñ(Ó*¨f¯k©k«mÑ;ò FØ'×,Ñ,Ó.°&·+±+³-Ñ?òFà'×/Ñ/Ó1°V·^±^Ó5EÑEð ñ
 !Ø(×,Ñ,¨ZÔ8Ø à+1�˜ZÑ(Ø01Ð! *Ñ-Ø12Ð" :Ó.Ø—‘“ %Ó'à ,Ñ.ðXà0°°ð =Uð XóXØ.ð % ZÑ0�à#4°ZÑ#@Ð Ø$6°zÑ$BÐ!Ø Ÿ>™>Ó+ÒX°·±Ó0AÀV×EUÑEUÓEWÑ0W�Ø"(×"2Ñ"2Ó"4�Ø#Ÿk™k›m�ä"ò Ø—}‘}”ðà"ŸN™NÔ,ðô '¨E¯J©J«LÈÕMðô  -°%·*±*³,ÈeÕTð	ð
 !Ÿ?™?Ô,ðð *×8Ñ8¸Ô?ðð (×6Ñ6°vÔ>ðð  %×2Ñ2Ô4ðð "'§¡¤ðð ,1¯;©;«=öØ"'Ô<OÐPUÕ<Všóðð  Ÿ+™+œ-ðð */¯©Ô)9™v¸tøðñ &6ðñ  ):ð!ñ" &ð#ñ$ .ð%ð& !&× 1Ñ 1Ô 3ð'ô( !+§¢ð)ñ* #ð+ñ, &ð-�ñ2   E§N¡NÔ$4Ø$×4Ñ4°VÓ<�HØ !’|Ø×(Ñ(¨¯©«°u·|±|³~ÀxÔPØ× Ñ  Ô$Ø  Ð,Ø% jÐ1Ø& zÑ2Ø—‘“ .Ò0Ü'*Ð+<Ó'=Ð$Ü(+Ð,>Ó(?Ð%Ø+Ð/DÒDÐDÐDØ/×4Ñ4Ó6ò K�FØ% fÓ-°×1HÑ1HÓ1JÑJÔ-ðKà0×5Ñ5Ó7ò M�FØ& vÓ.°&×2JÑ2JÓ2LÑLÔ.ðMà'¨1Ò,ä&ØÜ.Ø#'Ø Ø!"Ø Ø Ø)/×)@Ñ)@Ó)BØ,2×,DÑ,DÓ,FØ"&ô�Bð ×$Ñ$ RÔ(Ø ŠKòy\	!ðe!ðZ ‡N�NÑN€NÔOØÐùòos   Ê!Q?Ê2Q?)r�   r!   Útyping_extensionsr   r   Ú
torch.cudaÚtorch.autogradr   r   r   r   r   Útorch.autograd.profiler_utilr	   r
   r   r   r   r   Ú__all__r   r9   rk   r)   r'   ú<module>rº      sa   ðã Û Ý (ã Û ÷õ ÷÷ ð ˆ+€ñ ð+àô÷
V8ð V8óð
V8ór~r)   