
    JTh                     $    S SK r S rS r SS jrg)    Nc                     U R                  5       S:X  d   eU R                  S   S-  S:X  d   eU R                  [        R                  :X  d   eU S S 2SS S24   S-  S-  U S S 2SS S24   S-  -  $ )N      r         )dimshapedtypetorchint8weights    a/var/www/auris/envauris/lib/python3.13/site-packages/torch/quantization/_quantized_conversions.pypack_int4_to_int8r      s}    ::<1<<?Q!###<<5::%%%Aqt!tG_s"q(VAqt!tG_s-BCC    c                    U R                  5       S:X  d   eU R                  [        R                  :X  d   e[        R                  " U S-  U S-	  S-  4SS9R                  U R                  S   SU R                  S   -  5      $ )Nr   r   r   )r   r   r   )r   r
   r   r   stackviewr	   r   s    r   unpack_int8_to_int4r      sv    ::<1<<5::%%%;;v{c&9:BGGQV\\!_, r   c                    U R                  5       S:X  d   eU R                  [        R                  :X  d   eU[        R                  :X  d  U[        R                  :X  d   eU R
                  R                  S:X  d   eU R
                  nU(       dq  U[        R                  :X  a  U R                  nORU[        R                  :X  a;  [        [        U R                  [        R                  5      5      R                  5      nOU nWR                  u  pVXa[        R                  :X  a  SOS-  S:X  d   eUS-  S:X  d   eU[        R                  :X  ag  [        R                  " / SQUS9[        R                  " SUS-  US9R                  S	S
5      S-  R                  US-  S5      -   R                  S	5      nOf[        R                  " / SQUS9[        R                  " SUS-  US9R                  S	S
5      S-  R                  US-  S5      -   R                  S	5      nUR!                  S
Xt5      nU[        R                  :X  a  SOSnSU-  n	[        R                  " SXX-  US9US-  U-  -  R                  S	S
5      R#                  S
US-  U-  5      R                  S	5      n
[        R                  " SUS-  U	-  US9X-  -  R                  S	S
5      R#                  S
U	5      R                  S	5      R#                  U5      n[        R                  " SXS9U	-  R                  S	S
5      R#                  S
US-  5      R                  S	5      R#                  XX-  5      n[        R                  " SXS9R#                  US-  U-  U	-  5      nX-   U-   U-   nUR                  S	5      R                  [        R$                  5      n[        R&                  " U5      nUR)                  SX5        UR                  U R                  5      nUR                  S	5      n[        R*                  " U5      nU[        R                  :X  at  UR-                  [        R.                  5      S-   R-                  UR                  5      nUSS S2   USS S2'   USS S2   US
S S2'   US
S S2   USS S2'   USS S2   USS S2'   OU[        R                  :X  ay  US-  S-   S-  n
U
S
S S2   S-  U
SS S2   -  n
US-	  S-  S-   S-  nUS
S S2   S-  USS S2   -  nU
SS S2   USS S2'   U
S
S S2   US
S S2'   USS S2   USS S2'   US
S S2   USS S2'   U[        R                  :X  a
  US-  nUS-  nUR                  Xe5      R                  [        R0                  5      $ )Nr   cuda    @   r   )r   r         r      	      r      
               r   )device   r   )r   r   r   r   r   r   r   r   r   r"   r   r#   r    r$   r!   r   r      r"   r   r   )r   r
   r   r   quint4x2r%   typeTr   r   r   r	   tensorarangereshapeexpand
index_copyrepeatint32
zeros_likescatter_
empty_liketointuint8)r   dtypeq	transposer%   outpncolsnrowscols_permutedmagic0magic1tmp0tmp1tmp2tmp3outp_offsetstmps                   r   8quantized_weight_reorder_for_mixed_dtypes_linear_cutlassrG      s:    ::<1<<5::%%%UZZ6U^^#;;;==''']]F UZZ88Du~~%$%8UZZ9P%Q%S%STD::LEENN2B;q@@@2:?? LLF ||Au{6:BB2qIBNVVR	 $r( 	 LLF ||Au{6:BB2qIBNVVR	 $r( 	 ??1m2D ENN*QF6\F 
a	8EQJ<O	P	b!	5A:&	'	b	 	 
a!v-f	=	Q	b!	6		b	 	 
a	/&	8	b!	5A:		b		  	 <<6188!e9Kv9UVD;%,L
))B-

U[[
)CC DMM!\'99V\\"D ))B-CC Dvveii 3&**3995AYQTT
AYQTT
AYQTT
AYQTT
	5>>	!sa3&QTT
a41:-(c!Q&#-QTT
a41:-!$Q$ZQTT
!$Q$ZQTT
!$Q$ZQTT
!$Q$ZQTT

!99U"''44r   )F)r   r   r   rG    r   r   <module>rI      s    D $h5r   