Ë
    [^(hã  ã                   óv  — d dl Z d dlZg d¢Ze j                  d„ «       Zd„ Zddej                  fd„Zddej                  fd„Zddej                  fd„Z	ddej                  fd	„Z
dej                  fd
„Zddej                  fd„Zddej                  fd„Zddej                  fd„Zddej                  fd„Zy)é    N)
Úfallback_dispatcherÚsemi_sparse_valuesÚsemi_sparse_indicesÚsemi_sparse_tÚsemi_sparse_viewÚsemi_sparse_detachÚsemi_sparse_mmÚsemi_sparse_addmmÚsemi_sparse_linearÚsemi_sparse_scaled_mmc               #   ó`   K  — t         j                  j                  «       } 	 d –— ~ y # ~ w xY w­w©N)ÚtorchÚ_CÚ_DisableTorchDispatch)Úguards    ú_/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/torch/sparse/_semi_structured_ops.pyÚno_dispatchr      s&   è ø€ ä�H‰H×*Ñ*Ó,€EðÛáø‰Eüs   ‚.¢( ¦.¨+«.c                 óL   — t        «       5   | |Ž cd d d «       S # 1 sw Y   y xY wr   )r   )ÚfuncÚtypesÚargsÚkwargss       r   r   r      s#   € Ü	‹ñ Ù�Tˆ{÷÷ ò ús   ‹š#Úreturnc                 óL  — t        |«      dk(  sJ ‚|d   }t        |t        j                  j                  «      sJ ‚|j
                  €J ‚|j                  €6|j                  \  }}||z  dz  }|j
                  d | j                  |d«      S |j
                  j                  «       S ©Né   r   é   éÿÿÿÿ)
ÚlenÚ
isinstancer   ÚsparseÚSparseSemiStructuredTensorÚpackedÚmetaÚshapeÚviewÚdetach)r   r   r   r   ÚAÚmÚkÚnum_kept_elementss           r   r   r   #   sš   € Üˆt‹9˜Š>Ðˆ>ØˆQ‰€AÜ�aœŸ™×@Ñ@ÔAÐAÐAØ�8‰8ÐÐÐØ‡v�v€~Ø�w‰w‰ˆˆ1Ø ™E Q™JÐØ�x‰xÐ+Ð*Ð,×1Ñ1°!°RÓ8Ð8à�x‰x�‰Ó Ð ó    c                 óÐ  — t        |«      dk(  sJ ‚|d   }t        |t        j                  j                  «      sJ ‚|j
                  €J ‚|j                  €†|j                  \  }}||z  dz  }|j
                  |d  j                  |d«      }|j                  |j                  t        j                  k(  rt        j                  «      S t        j                  «      S |j                  S r   )r    r!   r   r"   r#   r$   r%   r&   r'   ÚdtypeÚint32Úint16)	r   r   r   r   r)   r*   r+   r,   Úmetadatas	            r   r   r   0   s¿   € Üˆt‹9˜Š>Ðˆ>ØˆQ‰€AÜ�aœŸ™×@Ñ@ÔAÐAÐAØ�8‰8ÐÐÐØ‡v�v€~Ø�w‰w‰ˆˆ1Ø ™E Q™JÐØ—8‘8Ð-Ð.Ð/×4Ñ4°Q¸Ó;ˆØ�}‰}¨A¯G©G´u·{±{Ò,BœUŸ[™[ÓTÐTÌÏÉÓTÐTà�v‰vˆr-   c                 ó  — t        |«      dk(  sJ ‚|d   }t        |t        j                  j                  «      sJ ‚t        |j
                  «      dk(  sJ ‚|j                  t        j                  |j
                  d   |j
                  d   g«      |j                  |j                  |j                  |j                  |j                  �|j                  j                  dd«      nd |d   j                  |d   j                  ¬«      S )Nr   r   r   r   )r$   r%   Úpacked_tÚmeta_tÚcompressed_swizzled_bitmaskÚfuse_transpose_cusparseltÚalg_id_cusparselt)r    r!   r   r"   r#   r&   Ú	__class__ÚSizer4   r5   r$   r%   r6   Ú	transposer7   r8   ©r   r   r   r   Úselfs        r   r   r   >   sã   € Üˆt‹9˜Š>Ðˆ>Ø�‰7€DÜ�dœEŸL™L×CÑCÔDÐDÐDÜˆt�z‰z‹?˜aÒÐÐð �>‰>Ü�
‰
�D—J‘J˜r‘N D§J¡J¨q¡MÐ2Ó3Ø�}‰}Ø�[‰[Ø—‘Ø�y‰yð ×/Ñ/Ð;ð ×,Ñ,×6Ñ6°q¸!Ô<àà"& q¡'×"CÑ"CØ˜q™'×3Ñ3ð ó ð r-   c                 ó~   — t        |«      dk(  sJ ‚|\  }}t        |«      |j                  k7  rt        d|› d�«      ‚|S )Nr   z[`view` is not implemented for SparseSemiStructuredTensor, except for the dummy case (shape=ú))r    Útupler&   ÚNotImplementedError)r   r   r   r   r=   r&   s         r   r   r   V   sN   € Üˆt‹9˜Š>Ðˆ>Ø�K€Dˆ%ÜˆUƒ|�t—z‘zÒ!Ü!ØiÐjoÐipÐpqÐró
ð 	
ð €Kr-   c                 ó   — t        |«      dk(  sJ ‚|d   }|j                  |j                  |j                  |j                  |j
                  |j                  |j                  |j                  |j                  d¬«	      S )Nr   r   F)	r&   r$   r%   r4   r5   r6   r7   r8   Úrequires_grad)
r    r9   r&   r$   r%   r4   r5   r6   r7   r8   r<   s        r   r   r   `   sr   € Üˆt‹9˜Š>Ðˆ>Ø�‰7€DØ�>‰>Ø�j‰jØ�{‰{Ø�Y‰YØ—‘Ø�{‰{Ø$(×$DÑ$DØ"&×"@Ñ"@Ø×0Ñ0Øð ó 
ð 
r-   c                 óZ  — t        |«      dk(  sJ ‚|\  }}|j                  dk7  s|j                  dk7  rt        d«      ‚t        |t        j
                  j                  «      r<|j                  \  }}|j                  |«      }|j                  |«      }	|	d d …d |…f   S |j                  «       }
t        |
t        j
                  j                  «      sJ ‚|j                  \  }}|j                  |«      }|
j                  |j                  «       «      j                  «       }	|	d |…d d …f   S )Nr   úD`SparseSemiStructuredTensor` matmul: Broadcasting is not implemented)r    ÚndimrA   r!   r   r"   r#   r&   Ú_pad_dense_inputÚ_mmÚt)r   r   r   r   r)   ÚBÚrowÚcolÚB_paddedÚresÚB_tÚA_paddeds               r   r	   r	   p   s  € Üˆt‹9˜Š>Ðˆ>Ø�D€A€qØ‡v�v�‚{�a—f‘f ’kÜ!ØRó
ð 	
ô �!”U—\‘\×<Ñ<Ô=Ø—7‘7‰ˆˆSØ×%Ñ% aÓ(ˆØ�e‰e�H‹oˆØ’1�d�s�d�7‰|Ðà�c‰c‹eˆÜ˜#œuŸ|™|×FÑFÔGÐGÐGØ—7‘7‰ˆˆSØ×%Ñ% aÓ(ˆØ�g‰g�h—j‘j“lÓ#×%Ñ%Ó'ˆØ�4�C�4š�7‰|Ðr-   c                 óL  — t        |«      dk(  sJ ‚|\  }}}|j                  dk7  s|j                  dk7  rt        d«      ‚|j                  dk7  rt        d|j                  › �«      ‚t	        |t
        j                  j                  «      rt        d«      ‚|j                  «       }t	        |t
        j                  j                  «      sJ ‚|j                  \  }}	|j                  |«      }
|j                  |
j                  «       |¬«      j                  «       }|d |…d d …f   S )Né   r   rE   r   zF`SparseSemiStructuredTensor` matmul: only bias dim=1 supported. Shape=zL`SparseSemiStructuredTensor` matmul: only operand B of `addmm` can be sparse)Úbias)r    rF   rA   r&   r!   r   r"   r#   rI   rG   rH   )r   r   r   r   rS   r)   rJ   rO   rK   Ú_colrP   Úresults               r   r
   r
   …   s  € Üˆt‹9˜Š>Ðˆ>Ø�J€Dˆ!ˆQØ‡v�v�‚{�a—f‘f ’kÜ!ØRó
ð 	
ð ‡y�y�A‚~Ü!ØTÐUY×U_ÑU_ÐT`Ðaó
ð 	
ô �!”U—\‘\×<Ñ<Ô=Ü!ØZó
ð 	
ð �#‰#‹%€CÜ�cœ5Ÿ<™<×BÑBÔCÐCÐCØ—‘�I€CˆØ×#Ñ# AÓ&€HØ�W‰W�X—Z‘Z“\¨ˆWÓ-×/Ñ/Ó1€FØ�$�3�$š�'‰?Ðr-   c                 ó4  — t        |«      dv sJ ‚|d d \  }}t        |«      dk(  r|d   nd }|j                  }|j                  d|d   «      }|€||j                  «       z  }	nt	        d d |||j                  «       g¬«      }	 |	j                  g |d d ¢d‘­Ž S )N)r   rR   r   rR   r   )r   r   r   )r    r&   r'   rI   r
   )
r   r   r   r   r)   rJ   rS   r&   ÚA_2drN   s
             r   r   r   œ   sª   € Üˆt‹9˜ÑÐÐØ��ˆ8�D€A€qÜ˜$“i 1’nˆ4�Š7¨$€Dà�G‰G€EØ�6‰6�"�e˜B‘iÓ €Dà€|Ø�Q—S‘S“U‰l‰äØØØ˜˜aŸc™c›eÐ$ô
ˆð ˆ3�8‰8Ð$�U˜3˜B�ZÐ$ Ò$Ð$r-   c                 ó  — |d d \  }}}}}}	}
|j                   t        j                  k(  sJ ‚|j                   t        j                  k(  sJ ‚t        |t        j                  j
                  «      sJ ‚|j                  €J ‚|j                  «       dk(  r|j                  «       dk(  sJ ‚|j                   t        j                  k(  r|j                   t        j                  k(  sJ ‚t        j                  |j                  |||z  |
¬«      }|S )Né   r   )ÚalphaÚ	out_dtype)
r/   r   Úfloat8_e4m3fnr!   r"   Ú$SparseSemiStructuredTensorCUSPARSELTr$   ÚnumelÚfloat32Ú_cslt_sparse_mm)r   r   r   r   r)   rJ   ÚA_scaleÚB_scalerS   Úscale_resultr[   Úsparse_results               r   r   r   °   së   € à<@ÀÀ!¸HÑ9€A€qˆ'�7˜D ,°	à�7‰7”e×)Ñ)Ò)Ð)Ð)Ø�7‰7”e×)Ñ)Ò)Ð)Ð)ä�aœŸ™×JÑJÔKÐKÐKØ�8‰8ÐÐÐà�=‰=‹?˜aÒ G§M¡M£O°qÒ$8Ð8Ð8Ø�=‰=œEŸM™MÒ)¨g¯m©m¼u¿}¹}Ò.LÐLÐLô ×)Ñ)Ø	�‰Ø	Ø˜ÑØô	€Mð Ðr-   )© N)Ú
contextlibr   Ú__all__Úcontextmanagerr   r   ÚTensorr   r   r   r   r   r	   r
   r   r   re   r-   r   ú<module>rj      sÁ   ðã ã ò€ð ×Ññó ðòñ

!¸U¿\¹\ó 
!ñ¸e¿l¹ló ñ¸¿¹ó ñ0¸5¿<¹<ó ð°U·\±\ó ñ ¸¿¹ó ñ*¸E¿L¹Ló ñ.%¸U¿\¹\ó %ñ(ÀÇÁô r-   