§
    �Štjb
  ã                   óP   — d Z ddlZddlmc mZ dd„Zedk    r e¦   «          dS dS )zCExample of the Timer and Fuzzer APIs:

$ python -m examples.fuzzer
é    NÚreturnc            	      óö  — t          j        d„ t          d¦  «        D ¦   «         t          j        ddddœ¬¦  «        gd„ d	D ¦   «         gd
¬¦  «        } d}g }t	          |                      |¬¦  «        ¦  «        D �]€\  }\  }}}|d         t          |d         d         ¦  «        }}|d         t          |d         d         ¦  «        }
}	d                     t          d„ |j	        D ¦   «         ¦  «        ¦  «        }d                     | 
                    ¦   «         d›d|d›d�|                     ¦   «         rdn|d›d�|	                     ¦   «         rdn|
d›d�g¦  «        }t          j        d||¬¦  «        }|                     |                     d¬¦  «        ¦  «         d| 
                    ¦   «         i|d         _        t!          d|d z   › d!|› �d¬"¦  «         t"          j                             ¦   «          �Œ‚t!          ¦   «          t!          d#d$d$| j        z
  z  d%›�¦  «         d&„ }|                     |¬'¦  «         d(d)› d*d+› d,d-› �}t!          |                     d.¦  «        ¦  «         |d d/…         D ](}t!           ||¦  «        d0z  d1›d2|j        › �¦  «         Œ)t!          d3|                     d4¦  «        z   ¦  «         |d5d …         D ](}t!           ||¦  «        d0z  d1›d2|j        › �¦  «         Œ)d S )6Nc                 óD   — g | ]}t          j        d |› �ddd¬¦  «        ‘ŒS )Úké   i @  Ú
loguniform)ÚnameÚminvalÚmaxvalÚdistribution)Úbenchmark_utilsÚFuzzedParameter©Ú.0Úis     úc/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/utils/benchmark/examples/fuzzer.pyú
<listcomp>zmain.<locals>.<listcomp>   sN   € ð ð ð ð õ  Ô/Ø ˜Q˜˜ØØ$Ø!-ð	ñ ô ðð ð ó    é   Údg333333ã?gš™™™™™Ù?)é   r   )r	   r   c           
      óB   — g | ]}t          j        |d dddd¬¦  «        ‘ŒS ))Úk0Úk1Úk2r   g      è?i   i   )r	   ÚsizeÚdim_parameterÚprobability_contiguousÚmin_elementsÚmax_elements)r   ÚFuzzedTensor)r   r	   s     r   r   zmain.<locals>.<listcomp>   sN   € ð 	ð 	ð 	ð õ  Ô,ØØ+Ø"%Ø+/Ø!*Ø!+ðñ ô ð	ð 	ð 	r   )ÚxÚyr   )Ú
parametersÚtensorsÚseedéú   )Únr"   Úorderr#   z, c              3   ó   K  — | ]}|d ›V — Œ	dS )z>4N© r   s     r   ú	<genexpr>zmain.<locals>.<genexpr>0   s&   è è € Ð;Ð;¨a 1 	 	Ð;Ð;Ð;Ð;Ð;Ð;r   Ú z>7z | z<16Ú
contiguousz<12zx + y)ÚstmtÚglobalsÚdescriptiongš™™™™™¹?)Úmin_run_timeÚnumeléÿÿÿÿúé   z / )Úendz#Average attempts per valid config: g      ð?z.1fc                 ó,   — | j         | j        d         z  S )Nr3   )ÚmedianÚmetadata)Úms    r   Útime_fnzmain.<locals>.time_fnG   s   € ØŒx˜!œ* WÔ-Ñ-Ð-r   )Úkeyz{:>6}z                   zSize    Shapez             zX order        Y order
zP--------------------------------------------------------------------------------zBest:é   g    eÍÍAz>4.1fz ns / element     ú
zWorst:iñÿÿÿ)r   ÚFuzzerÚranger   Ú	enumerateÚtakeÚstrÚjoinÚtupleÚshaper3   Úis_contiguousÚTimerÚappendÚblocked_autoranger:   ÚprintÚsysÚstdoutÚflushÚrejection_rateÚsortÚformatr1   )Ú
add_fuzzerr(   Úmeasurementsr   r%   Útensor_propertiesÚ_r"   Úx_orderr#   Úy_orderrG   r1   Útimerr<   Útemplater;   s                    r   Úmainr[      s¨  € Ý Ô'ðð õ ! ™8œ8ðñ ô õ Ô+ØØ!$¨Ð-Ð-ðñ ô ð
ð	ð 	ð )ð	ñ 	ô 	ð
ð ð7ñ ô €Jð< 	€AØ€LÝ.7¸
¿ºÈ!¸Ñ8LÔ8LÑ.MÔ.Mð ñ Ñ*ˆÑ*ˆGÐ&¨Ø˜S”\¥3Ð'8¸Ô'=¸gÔ'FÑ#GÔ#Gˆ7ˆØ˜S”\¥3Ð'8¸Ô'=¸gÔ'FÑ#GÔ#Gˆ7ˆØ—	’	�%Ð;Ð;°1´7Ð;Ñ;Ô;Ñ;Ô;Ñ<Ô<ˆà—g’gØ�wŠw‰yŒyÐ.Ð.Ð. Ð.Ð.Ð.Ð.Ø ŸšÑ0Ô0Ð=ˆ|ˆ|°gÐFÐFÐFÐFØ ŸšÑ0Ô0Ð=ˆ|ˆ|°gÐFÐFÐFÐFð
ñ ô ˆõ  Ô%ØØØ#ð
ñ 
ô 
ˆð 	×Ò˜E×3Ò3ÀÐ3ÑEÔEÑFÔFÐFØ%,¨a¯gªg©i¬iÐ$8ˆ�RÔÔ!ÝÐ �1�q‘5Ð Ð ˜QÐ Ð  bÐ)Ñ)Ô)Ð)ÝŒ
×ÒÑÔÐÑÝ	�G„G€Gõ 
Ð
[°°b¸:Ô;TÑ6TÑ0UÐ
[Ð
[Ð
[Ñ\Ô\Ð\ð.ð .ð .à×Ò˜'ÐÑ"Ô"Ð"à\˜Ð\Ð\°Ð\Ð\ÐRZÐ\Ð\€HÝ	ˆ(�/Š/˜'Ñ
"Ô
"Ñ#Ô#Ð#Ø˜#˜2˜#Ôð Lð LˆÝ��˜‘”˜cÑ!ÐJÐJÐJ¸1¼=ÐJÐJÑKÔKÐKÐKå	ˆ$�—’ Ñ*Ô*Ñ
*Ñ+Ô+Ð+Ø˜#˜$˜$Ôð Lð LˆÝ��˜‘”˜cÑ!ÐJÐJÐJ¸1¼=ÐJÐJÑKÔKÐKÐKðLð Lr   Ú__main__)r   N)Ú__doc__rM   Útorch.utils.benchmarkÚutilsÚ	benchmarkr   r[   Ú__name__r+   r   r   ú<module>rb      sv   ððð ð
 €
€
€
à /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /ðFLð FLð FLð FLðR ˆzÒÐØ€D�F„F€F€F€Fð Ðr   