§
    ŠŠtj²/  ã                   óº   — 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dS )
é    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                   ó0  — 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dS ) r   z'DEPRECATED: use torch.profiler instead.TF)Úuse_cudaÚrecord_shapesÚ
with_flopsÚprofile_memoryÚ
with_stackÚwith_modulesc                óš  — || _         | j         sd S || _        d | _        d| _        || _        || _        | xj        | j        z  c_        || _        || _        || _        | j        r;t          j
                             ¦   «         st          j        dd¬¦  «         d| _        | j        rt          j        | _        d S t          j        | _        d S )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/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/autograd/profiler_legacy.pyÚ__init__zprofile.__init__$   sß   € ð %ˆŒØŒ|ð 	ØˆFØ ˆŒØ#ˆÔØˆŒØ*ˆÔØ$ˆŒØÐÔ˜dœoÑ-ÐÔØ,ˆÔØ$ˆŒØ(ˆÔàŒ=ð 	"¥¤×!8Ò!8Ñ!:Ô!:ð 	"ÝŒMØAØðñ ô ð ð "ˆDŒMàŒ=ð 	3Ý!.Ô!3ˆDÔÐÐå!.Ô!2ˆDÔÐÐó    c           
      óª   — t          | j        | j        | j        | j        | j        | j        t          j        j	         
                    ¦   «         ¦  «        S ©N)r   r$   r   r   r   r   r   r   Ú_CÚ	_profilerÚ_ExperimentalConfig©r&   s    r'   Úconfigzprofile.configH   sJ   € ÝØÔØÔØÔØŒOØŒOØÔåŒHÔ×2Ò2Ñ4Ô4ñ	
ô 	
ð 		
r)   c                 óz   — | j         sd S | j        rt          d¦  «        ‚d| _        |                      ¦   «          | S )Nz)Profiler context manager is not reentrantT)r   r   ÚRuntimeErrorÚ_start_tracer/   s    r'   Ú	__enter__zprofile.__enter__T   sI   € ØŒ|ð 	ØˆFØŒ<ð 	LÝÐJÑKÔKÐKØˆŒØ×ÒÑÔÐØˆr)   c                 óH   — t          |                      ¦   «         ¦  «         d S r+   )r   r0   r/   s    r'   r3   zprofile._start_trace]   s   € Ý §¢¡¤Ñ.Ô.Ð.Ð.Ð.r)   c                 ó$  — | j         sd S | j        rt          j                             ¦   «          t          ¦   «         }t          |¦  «        }t          || j        rdnd | j        | j	        ¬¦  «        | _
        | j
                             ¦   «          dS )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__`   s–   € ØŒ|ð 	ØˆFØŒ=ð 	%ÝŒJ×"Ò"Ñ$Ô$Ð$å*Ñ,Ô,ˆÝ.¨wÑ7Ô7ˆå(ØØ!%¤Ð8�v�v°DØÔ.Ø”ð	 
ñ  
ô  
ˆÔð 	Ô×(Ò(Ñ*Ô*Ð*Øˆur)   c                 ó<   — | j         €dS t          | j         ¦  «        S )Nz$<unfinished profiler_legacy.profile>)r   Úreprr/   s    r'   Ú__repr__zprofile.__repr__s   s"   € ØÔÐ'Ø9Ð9Ý�DÔ(Ñ)Ô)Ð)r)   c                 ó<   — | j         €dS t          | j         ¦  «        S )Nz,<unfinished profile.profiler_legacy.profile>)r   Ústrr/   s    r'   Ú__str__zprofile.__str__x   s"   € ØÔÐ'ØAÐAÝ�4Ô'Ñ(Ô(Ð(r)   c                 ó2   — | j         €t          d¦  «        ‚d S )NzProfiler didn't finish running)r   r2   r/   s    r'   Ú_check_finishzprofile._check_finish}   s"   € ØÔÐ'ÝÐ?Ñ@Ô@Ð@ð (Ð'r)   Néd   éK   é7   éP   c           	      ó˜   — |                       ¦   «          | j        €t          d¦  «        ‚| j                             |||||||¬¦  «        S )NúExpected profiling results)Úsort_byÚ	row_limitÚmax_src_column_widthÚmax_name_column_widthÚmax_shapes_column_widthÚheaderÚtop_level_events_only)rH   r   ÚAssertionErrorÚtable)r&   rO   rP   rQ   rR   rS   rT   rU   s           r'   rW   zprofile.table�   sc   € ð 	×ÒÑÔÐØÔÐ'Ý Ð!=Ñ>Ô>Ð>ØÔ#×)Ò)ØØØ!5Ø"7Ø$;ØØ"7ð *ñ 
ô 
ð 	
r)   c                 óŠ   — |                       ¦   «          | j        €t          d¦  «        ‚| j                             |¦  «        S ©NrN   )rH   r   rV   Úexport_chrome_trace)r&   Úpaths     r'   rZ   zprofile.export_chrome_traceš   sC   € Ø×ÒÑÔÐØÔÐ'Ý Ð!=Ñ>Ô>Ð>ØÔ#×7Ò7¸Ñ=Ô=Ð=r)   Úself_cpu_time_totalr[   Úmetricc                 ó¸   — |                       ¦   «          | j        €t          d¦  «        ‚| j        st          d¦  «        ‚| j                             ||¦  «        S )NrN   z(export_stacks() requires with_stack=True)rH   r   rV   r   Úexport_stacks)r&   r[   r]   s      r'   r_   zprofile.export_stacks¢   s_   € Ø×ÒÑÔÐØÔÐ'Ý Ð!=Ñ>Ô>Ð>ØŒð 	MÝ Ð!KÑLÔLÐLØÔ#×1Ò1°$¸Ñ?Ô?Ð?r)   r   c                 óŒ   — |                       ¦   «          | j        €t          d¦  «        ‚| j                             ||¦  «        S rY   )rH   r   rV   Úkey_averages)r&   Úgroup_by_input_shapeÚgroup_by_stack_ns      r'   ra   zprofile.key_averagesª   sG   € Ø×ÒÑÔÐØÔÐ'Ý Ð!=Ñ>Ô>Ð>ØÔ#×0Ò0Ð1EÐGWÑXÔXÐXr)   c                 óˆ   — |                       ¦   «          | j        €t          d¦  «        ‚| j                             ¦   «         S rY   )rH   r   rV   Útotal_averager/   s    r'   re   zprofile.total_average²   sA   € Ø×ÒÑÔÐØÔÐ'Ý Ð!=Ñ>Ô>Ð>ØÔ#×1Ò1Ñ3Ô3Ð3r)   c                 ón   — |                       ¦   «          | j        €t          d¦  «        ‚| j        j        S )z;Return CPU time as the sum of self times across all events.NrN   )rH   r   rV   r\   r/   s    r'   r\   zprofile.self_cpu_time_totalº   s:   € ð 	×ÒÑÔÐØÔÐ'Ý Ð!=Ñ>Ô>Ð>ØÔ#Ô7Ð7r)   )T)NrI   rJ   rK   rL   NF)r\   )Fr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r(   r0   r4   r3   r@   rC   rF   rH   rW   r   rZ   rE   r_   ra   re   Úpropertyr\   © r)   r'   r   r      s§  € € € € € ð 2Ð1ð ð"3ð ØØØØØð"3ð "3ð "3ð "3ð "3ðH

ð 

ð 

ðð ð ð/ð /ð /ðð ð ð&*ð *ð *ð
)ð )ð )ð
Að Að Að ØØØ Ø "ØØ#ð
ð 
ð 
ð 
ð. ”OÔ+€E„Mð>ð >ð >ð #,Ô"?Ô"GÐÔð@ð @ #ð @¨sð @ð @ð @ð @ðYð Yð Yð Yð %Ô1Ô9€LÔð4ð 4ð 4ð &Ô3Ô;€MÔàð8ð 8ñ „Xð8ð 8ð 8r)   c                 ó¢
  — d„ }d }g }t           j                             | ¦  «        D ] }|                     ¦   «         }|€|dk    r|}Œ!|�|                     ¦   «         rt          d¦  «        ‚| D �]Ç}i }i }i }	t          ¦   «         }
d }|D �]ª} ||¦  «        }t          |                     ¦   «         ¦  «        s||
v r|
                     |¦  «         ŒI| 	                    ¦   «         dk    r©|�–|                     ¦   «         |                     ¦   «         k    oS| 	                    ¦   «         | 	                    ¦   «         k    o)| 
                    ¦   «         | 
                    ¦   «         k    }|r|
                     |¦  «         Œù||	|<   d||<   d||<   �nž| 	                    ¦   «         dk    �rˆ||	vrt          d|› d�¦  «        ‚|	|         }||         }||         }|                     ¦   «         p)|                     ¦   «         |                     ¦   «         k    }|                     ¦   «         }|                     ¦   «         }t          d)i d	|                     ¦   «         “d
| 
                    ¦   «         “dt!          |                     ¦   «         d¬¦  «        “dt!          |                     ¦   «         d¬¦  «        “d|                     ¦   «         “d|                     |¦  «        “d|                     |¦  «        “d|                     ¦   «         “d|                     ¦   «         “dd„ |                     ¦   «         D ¦   «         “d|                     ¦   «         “d|                     ¦   «         rdnd “d|“d|“d|“d|“d|                     ¦   «         “dt0          j        “d d“d!|“Ž}|sj|                     ¦   «         rV|                     |¦  «        }|dk    r;|                     |                     ¦   «         |                     ¦   «         |¦  «         |                     |¦  «         |	|= ||= ||= ný| 	                    ¦   «         d"k    råt=          |¦  «        }t=          |¦  «        }||k    rt          d#|› d$|› d%�¦  «        ‚|D ]$}||xx         |                     ¦   «         z  cc<   Œ%|D ]$}||xx         |                      ¦   «         z  cc<   Œ%|dk    rWt          dtB          d dddg |                     ¦   «         |                      ¦   «         d¬&¦
  «
        }|                     |¦  «         |}�Œ¬�ŒÉ| "                    d'„ ¬(¦  «         |S )*Nc                 óR   — |                       ¦   «         |                      ¦   «         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Ô!1Ð2Ð2r)   Ú__start_profilez#Expected a valid local start_recordÚpushr   ÚpopzExpected record with key z[ to exist in range_starts. This means that the pop event did not have a corresponding push.Úidrp   ÚnameT)rw   Úwith_wildcardÚ
trace_nameFÚthreadÚstart_usÚend_usÚ
fwd_threadÚinput_shapesÚstackc                 ó0   — g | ]}t          |¦  «        ¯|‘ŒS rl   )r
   )Ú.0Úentrys     r'   ú
<listcomp>z)_parse_legacy_records.<locals>.<listcomp>  s7   € ð ð ð Ø"'Õ<OÐPUÑ<VÔ<VðØðð ð r)   Úscoper7   r   Úcpu_memory_usageÚdevice_memory_usageÚis_asyncÚ	is_remoteÚsequence_nrÚdevice_typeÚ	is_legacyÚflopsÚmemory_alloczBExpected CPU and CUDA memory allocation handles to match, but got z	 CPU and z CUDA)
rv   rw   ry   rz   r{   r|   r   r…   r†   r‹   c                 ó4   — | j         j        | j         j         gS r+   )Ú
time_rangeÚstartÚend)Úevts    r'   ú<lambda>z'_parse_legacy_records.<locals>.<lambda>F  s   €  C¤NÔ$8¸3¼>Ô;MÐ:MÐ#N€ r)   )Úkeyrl   )#Ú	itertoolsÚchainÚfrom_iterablerw   rˆ   rV   Úsetr	   ÚaddÚkindrp   r‡   Ú	thread_idrŒ   r   ro   r   Úcpu_elapsed_usÚfwd_thread_idÚshapesr   r„   Úhas_cudar‰   r   r%   Úcuda_elapsed_usÚappend_kernelÚdeviceÚappendÚlenr…   Úcuda_memory_usager   Úsort)Úthread_recordsrr   Ústart_recordÚ	functionsrq   rw   Ú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ÚfeÚdurationÚnum_open_handles_cpuÚnum_open_handles_cudaro   s                            r'   r9   r9   Ã   sz  € ð3ð 3ð 3ð €LØ€Iõ ”/×/Ò/°Ñ?Ô?ð "ð "ˆØ�{Š{‰}Œ}ˆØÐ DÐ,=Ò$=Ð$=Ø!ˆLøàÐ˜|×5Ò5Ñ7Ô7ÐÝÐBÑCÔCÐCà,ð j!ñ j!ÐàÐØÐàˆå™5œ5ÐØˆØ(ð a	!ñ a	!ˆFØ(˜¨Ñ0Ô0ˆJÝ˜FŸKšK™MœMÑ*Ô*ð ¨jÐ<LÐ.LÐ.LØ ×$Ò$ ZÑ0Ô0Ð0Øà�{Š{‰}Œ} Ò&Ð&ð Ð*à#×(Ò(Ñ*Ô*¨f¯kªk©m¬mÒ;ð FØ'×,Ò,Ñ.Ô.°&·+²+±-´-Ò?ðFà'×/Ò/Ñ1Ô1°V·^²^Ñ5EÔ5EÒEð ð
 !ð !Ø(×,Ò,¨ZÑ8Ô8Ð8Ø à+1�˜ZÑ(Ø01Ð! *Ñ-Ø12Ð" :Ñ.Ñ.Ø—’‘” %Ò'Ñ'Ø \Ð1Ð1Ý(ð[°Jð [ð [ð [ñô ð ð
 % ZÔ0�à#4°ZÔ#@Ð Ø$6°zÔ$BÐ!Ø Ÿ>š>Ñ+Ô+ÐX°·²Ñ0AÔ0AÀV×EUÒEUÑEWÔEWÒ0W�Ø"(×"2Ò"2Ñ"4Ô"4�Ø#Ÿkšk™mœm�å"ð ð ð Ø—}’}‘”�ðà"ŸNšNÑ,Ô,Ð,ðõ '¨E¯JªJ©L¬LÈÐMÑMÔMÐMðõ  -°%·*²*±,´,ÈeÐTÑTÔTÐTð	ð
 !Ÿ?š?Ñ,Ô,Ð,ðð *×8Ò8¸Ñ?Ô?Ð?ðð (×6Ò6°vÑ>Ô>Ð>ðð  %×2Ò2Ñ4Ô4Ð4ðð "'§¢¡¤ ððð Ø+0¯;ª;©=¬=ðñ ô ð ðð  Ÿ+š+™-œ-˜-ðð */¯ªÑ)9Ô)9ÐC˜v˜v¸tøðð &6Ð%5ðð  ):Ð(9ð!ð" &˜Xð#ð$ .˜oð%ð& !&× 1Ò 1Ñ 3Ô 3Ð 3ð'õ( !+¤ ð)ð* #˜dð+ð, &˜+ð-�ð2  ð Q E§N¢NÑ$4Ô$4ð QØ$×4Ò4°VÑ<Ô<�HØ !’|�|Ø×(Ò(¨¯ª©¬°u·|²|±~´~ÀxÑPÔPÐPØ× Ò  Ñ$Ô$Ð$Ø  Ð,Ø% jÐ1Ø& zÐ2Ð2Ø—’‘” .Ò0Ð0Ý'*Ð+<Ñ'=Ô'=Ð$Ý(+Ð,>Ñ(?Ô(?Ð%Ø'Ð+@Ò@Ð@Ý(ð_Ø#7ð_ð _ØBWð_ð _ð _ñô ð ð 0ð Kð K�FØ% fÐ-Ð-Ô-°×1HÒ1HÑ1JÔ1JÑJÐ-Ð-Ñ-Ð-Ø0ð Mð M�FØ& vÐ.Ð.Ô.°&×2JÒ2JÑ2LÔ2LÑLÐ.Ð.Ñ.Ð.Ø'¨1Ò,Ð,å&ØÝ.Ø#'Ø Ø!"Ø Ø Ø)/×)@Ò)@Ñ)BÔ)BØ,2×,DÒ,DÑ,FÔ,FØ"&ðñ ô �Bð ×$Ò$ RÑ(Ô(Ð(Ø ˆK‰KñCa	!ðR ‡N‚NÐNÐN€NÑOÔOÐOØÐr)   )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   rl   r)   r'   ú<module>r½      sW  ðà Ð Ð Ð Ø €€€Ø (Ð (Ð (Ð (Ð (Ð (à €€€Ø Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ˆ+€ð €ð+àðñ ô ð
_8ð _8ð _8ð _8ð _8ñ _8ô _8ñô ð
_8ðDDð Dð Dð Dð Dr)   