
    ΧgZ
                     N    d Z ddlZddlmc mZ d Zedk    r e             dS dS )zCExample of the Timer and Fuzzer APIs:

$ python -m examples.fuzzer
    Nc            	         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     a/var/www/html/ai-engine/env/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&      ;;a1		;;;;;;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 )Nr2   )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    eAz>4.1fz ns / element     
zWorst:i)r   Fuzzerranger   	enumeratetakestrjointupleshaper2   is_contiguousTimerappendblocked_autoranger9   printsysstdoutflushrejection_ratesortformatr0   )
add_fuzzerr'   measurementsr   r$   tensor_properties_r!   x_orderr"   y_orderrF   r0   timerr;   templater:   s                    r   mainrZ      s    '  !88   +!$--  
	 	 )	 	 	
 7  J< 	AL.7
!8L8L.M.M  **G&S\3'8'=g'F#G#G7S\3'8'=g'F#G#G7		%;;17;;;;;<<ggwwyy....... 00=||gFFFF 00=||gFFFF
    %#
 
 
 	E333EEFFF%,aggii$8R! 1q5  Q  b))))
	GGG 

[b:;T6T0U
[
[
[\\\. . .'"""\\\\\RZ\\H	(//'
"
"####2# L Lc!JJJ1=JJKKKK	$**
*+++#$$ L Lc!JJJ1=JJKKKKL Lr   __main__)__doc__rL   torch.utils.benchmarkutils	benchmarkr   rZ   __name__r*   r   r   <module>ra      so    
 


 / / / / / / / / /FL FL FLR zDFFFFF r   