
    JThZ
                     D    S r SSKrSSKJs  Jr  S r\S:X  a  \" 5         gg)zCExample of the Timer and Fuzzer APIs:

$ python -m examples.fuzzer
    Nc                     [         R                  " [        S5       V s/ s H  n [         R                  " SU  3SSSS9PM     sn [         R                  " SSS	S
.S9/S Vs/ s H  n[         R                  " USSSSSS9PM     sn/SS9nSn/ n[        UR                  US95       GH>  u  n u  pVnUS   [        US   S   5      pUS   [        US   S   5      pSR                  [        S UR                   5       5      5      nSR                  UR                  5       S SUS S3UR                  5       (       a  SOU	S  S3U
R                  5       (       a  SOUS  S3/5      n[         R                  " S!UUS"9nUR                  UR                  S#S$95        S%UR                  5       0US&   l        [#        S'U S(-    S)U 3SS*9  [$        R&                  R)                  5         GMA     [#        5         [#        S+S,S,UR*                  -
  -  S- 35        S. nUR-                  US/9  S0S1 S2S3 S4S5 3n[#        UR/                  S65      5        US S7  H'  n[#        U" U5      S8-  S9 S:UR0                   35        M)     [#        S;UR/                  S<5      -   5        US=S   H'  n[#        U" U5      S8-  S9 S:UR0                   35        M)     g s  sn f s  snf )>N   k   i @  
loguniform)nameminvalmaxvaldistributiondg333333?g?)   r   )r   r   )xy)k0k1k2g      ?i   i   )r   sizedim_parameterprobability_contiguousmin_elementsmax_elementsr   )
parameterstensorsseed   )nr   orderr   z, c              3   (   #    U  H  oS  v   M
     g7f)z>4N ).0is     ]/var/www/auris/envauris/lib/python3.13/site-packages/torch/utils/benchmark/examples/fuzzer.py	<genexpr>main.<locals>.<genexpr>0   s     ;7aR&	7s    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                 :    U R                   U R                  S   -  $ )Nr+   )medianmetadata)ms    r"   time_fnmain.<locals>.time_fnG   s    xx!**W---    )keyz{:>6}z                   zSize    Shapez             zX order        Y order
zP--------------------------------------------------------------------------------zBest:   g    eAz>4.1fz ns / element     
zWorst:i)benchmark_utilsFuzzerrangeFuzzedParameterFuzzedTensor	enumeratetakestrjointupleshaper+   is_contiguousTimerappendblocked_autoranger2   printsysstdoutflushrejection_ratesortformatr)   )r!   r   
add_fuzzerr   measurementsr   tensor_properties_r   x_orderr   y_orderrD   r)   timerr4   templater3   s                     r"   mainrX      s    '' !8 $a  //QC$!-	
 $ ++!$-
. )	 )d  ,,+"%+/!*!+ )	
 7J< 	AL.7
!8L.M**GS\3'8'=g'F#G7S\3'8'=g'F#G7		%;177;;<ggwwynCc{#. 00|gcB#F 00|gcB#F
   %%#
 	E333EF%,aggi$8R!1q5'QC b)

) /N* 
G 
/b:;T;T6T0UVY/Z
[\.'"
-z9QRZQ[\H	(//'
"##2c!%((:1==/JK  
$*
*+#$c!%((:1==/JK  E	s   $K #K
__main__)__doc__rJ   torch.utils.benchmarkutils	benchmarkr:   rX   __name__r   r6   r"   <module>r_      s1   
  / /FLR zF r6   