
    R j7                         S SK r S SKrS SKrS SKrS rS r\ R                  S 5       r\ R                  SS j5       r\ R                  S	S j5       r	S
S jr
g)    Nc                      [         R                  R                  R                  5       (       d  g[         R                  R                  R                  5       (       d  ggNFT)torchbackendsmkldnnis_availableops_is_mkldnn_bf16_supported     v/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/torch/testing/_internal/common_mkldnn.pybf32_is_not_fp32r   
   s=    >>  --//995577r   c                      [         R                  R                  R                  5       (       d  g[         R                  R                  5       (       d  ggr   )r   r   r   r   cpu_is_amx_fp16_supportedr   r   r   tf32_is_not_fp32r      s7    >>  --//99++--r   c               #     #    [         R                  R                  R                  R                  n [         R                  R                  R
                  R                  n S[         R                  R                  R                  l        S[         R                  R                  R
                  l        S v   U [         R                  R                  R                  l        U[         R                  R                  R
                  l        g ! U [         R                  R                  R                  l        U[         R                  R                  R
                  l        f = f7f)Nieee)r   r   r   matmulfp32_precisionconv)old_matmul_precisionold_conv_precisions     r   reduced_f32_offr      s      >>0077FF..33BBG6<$$34:""16J$$34F""1 7K$$34F""1s!   AE  AD	 6AE 	AEE c              #      #    [         R                  R                  R                  R                  n[         R                  R                  R
                  R                  nU R                  n S[         R                  R                  R                  l        S[         R                  R                  R
                  l        Xl        S v   U[         R                  R                  R                  l        U[         R                  R                  R
                  l        X@l        g ! U[         R                  R                  R                  l        U[         R                  R                  R
                  l        X@l        f = f7f)Nbf16r   r   r   r   r   r   	precision)selfbf32_precisionr   r   old_precisions        r   bf32_onr"   '         >>0077FF..33BBNNM'6<$$34:""1'6J$$34F""1& 7K$$34F""1&!   A)E>,AD! AE>!AE;;E>c              #      #    [         R                  R                  R                  R                  n[         R                  R                  R
                  R                  nU R                  n S[         R                  R                  R                  l        S[         R                  R                  R
                  l        Xl        S v   U[         R                  R                  R                  l        U[         R                  R                  R
                  l        X@l        g ! U[         R                  R                  R                  l        U[         R                  R                  R
                  l        X@l        f = f7f)Ntf32r   )r   tf32_precisionr   r   r!   s        r   tf32_onr(   7   r#   r$   c                 >   ^ ^^^^ S mU 4S jmU4S jmUUU4S jnU$ )Nc                 Z    [        5          U" 5         S S S 5        g ! , (       d  f       g = fN)r   )r   function_calls     r   with_reduced_f32_disabled9reduced_f32_on_and_off.<locals>.with_reduced_f32_disabledL   s    O s   
*c                 `   > [        U T5         U" 5         S S S 5        g ! , (       d  f       g = fr+   )r"   )r   r,   r    s     r   with_bf32_enabled1reduced_f32_on_and_off.<locals>.with_bf32_enabledP       T>*O +**   
-c                 `   > [        U T5         U" 5         S S S 5        g ! , (       d  f       g = fr+   )r(   )r   r,   r'   s     r   with_tf32_enabled1reduced_f32_on_and_off.<locals>.with_tf32_enabledT   r2   r3   c                    >^ ^ [         R                  " T 5      R                  n[        UR	                  5       5      m[
        R                  " T 5      UU UUU4S j5       nU$ )Nc                    >^ TR                  [        TU SS95        SnST;   a/  U=(       a&    [        R                  " TS   5      R                  S:H  nST;   a  U=(       a    TS   [        R
                  :H  nU=(       a
    [        5       nU=(       a
    [        5       nU(       d  U(       aC  T" TS   UU4S j5        U(       a  T" TS   UU4S	 j5        U(       a  T	" TS   UU4S
 j5        g g T" S0 TD6  g )NF)strictTdevicer   dtyper   c                     > T " S0 TD6$ Nr   r   fkwargss   r   <lambda>Jreduced_f32_on_and_off.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>g   s    !+f+r   c                     > T " S0 TD6$ r=   r   r>   s   r   rA   rB   i       ak&kr   c                     > T " S0 TD6$ r=   r   r>   s   r   rA   rB   k   rD   r   r   )updatezipr   r:   typefloatr   r   )
argsr@   cond	bf32_cond	tf32_cond	arg_namesr?   r0   r-   r5   s
    `   r   wrapped8reduced_f32_on_and_off.<locals>.wrapper.<locals>.wrapped\   s    MM#ie<=D6!NfX.>!?!D!D!M& @EKK!?3!1!3I3!1!3II)&.:MN%fVn6IJ%fVn6IJ  Fr   )inspect	signature
parameterstuplekeys	functoolswraps)r?   paramsrO   rN   r0   r-   r5   s   `  @r   wrapper'reduced_f32_on_and_off.<locals>.wrapperX   sP    ""1%00&++-(				 	 
	$ r   r   )r    r'   rY   r0   r-   r5   s   `` @@@r   reduced_f32_on_and_offr[   K   s    2 Nr   ){Gz?)h㈵>)r\   r]   )
contextlibrV   rQ   r   r   r   contextmanagerr   r"   r(   r[   r   r   r   <module>r`      sr        	G 	G ' ' ' '&&r   