+
    ˜°³jm)  ã                   ó  € ^ RI t ^ RIt. ROt] P                  R 4       tR tRR R lltRR R lltRR R	 lltRR
 R llt	R R lt
RR R lltRR R lltRR R lltRR R lltRR R lltRR R lltRR R lltR# )é    Nc               #   ób   "  € \         P                  P                  4       p  R x € ? R #   ? i ; i5i©N)ÚtorchÚ_CÚ_DisableTorchDispatch)Úguards    Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/sparse/_semi_structured_ops.pyÚno_dispatchr
      s%   é € ä�H‰H×*Ñ*Ó,€EðÛâø‰Eüs   ‚/¢) ¦/©,¬/c                 óp   € \        4       ;_uu_ 4        V ! V!  uuR R R 4       #   + '       g   i     R # ; ir   )r
   )ÚfuncÚtypesÚargsÚkwargss   &&&&r	   Úfallback_dispatcherr   !   s   € Ü	��Ù�T‰{÷ 
��‹ús   “$¤5	c                ó8   € V ^8„  d   QhR\         P                  /# ©é   Úreturn©r   ÚTensor)Úformats   "r	   Ú__annotate__r   &   s   € ÷ !ñ !¼U¿\¹\ñ !ó    c                 ó  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          p\        V\        P                  P
                  4      '       g"   \        R\        V4      P                   24      hVP                  f   \        R4      hVP                  fK   VP                  w  rVWV,          ^,          pVP                  P                  4       RV P                  VR4      # VP                  P                  4       # ©é   úexpected 1 arg, got ú)expected SparseSemiStructuredTensor, got NúA.packed must not be Noneéÿÿÿÿ)ÚlenÚAssertionErrorÚ
isinstancer   ÚsparseÚSparseSemiStructuredTensorÚtypeÚ__name__ÚpackedÚmetaÚshapeÚravelÚviewÚdetach)r   r   r   r   ÚAÚmÚkÚnum_kept_elementss   &&&&    r	   Úsemi_sparse_valuesr2   &   sÖ   € Ü
ˆ4ƒy�A„~ÜÐ3´C¸³I°;Ð?Ó@Ð@ØˆQ�€AÜ�aœŸ™×@Ñ@×AÒAÜØ7¼¸Q»×8HÑ8HÐ7IÐJó
ð 	
ð 	‡x�xÒÜÐ8Ó9Ð9Ø‡v�v‚~Ø�w‰w‰ˆØ�E Q�JÐØ�x‰x�~‰~ÓÐ 3Ð!2Ð4×9Ñ9¸!¸RÓ@Ð@à�x‰x�‰Ó Ð r   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   8   s   € ÷ ñ ¼e¿l¹lñ r   c                 ó–  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          p\        V\        P                  P
                  4      '       g"   \        R\        V4      P                   24      hVP                  f   \        R4      hVP                  f�   VP                  w  rVWV,          ^,          pVP                  P                  4       VR P                  VR4      pTP                  VP                  \        P                  8X  d   \        P                  4      # \        P                  4      # VP                  # r   )r!   r"   r#   r   r$   r%   r&   r'   r(   r)   r*   r+   r,   ÚdtypeÚint32Úint16)	r   r   r   r   r.   r/   r0   r1   Úmetadatas	   &&&&     r	   Úsemi_sparse_indicesr9   8   sû   € Ü
ˆ4ƒy�A„~ÜÐ3´C¸³I°;Ð?Ó@Ð@ØˆQ�€AÜ�aœŸ™×@Ñ@×AÒAÜØ7¼¸Q»×8HÑ8HÐ7IÐJó
ð 	
ð 	‡x�xÒÜÐ8Ó9Ð9Ø‡v�v‚~Ø�w‰w‰ˆØ�E Q�JÐØ—8‘8—>‘>Ó#Ð$5Ð$6Ð7×<Ñ<¸QÀÓCˆØ�}‰}¨A¯G©G´u·{±{Ô,BœUŸ[™[ÓTÐTÌÏÉÓTÐTà�v‰vˆr   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   K   s   € ÷ ñ ¼¿¹ñ r   c                 óú  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          p\        V\        P                  P
                  4      '       g"   \        R\        V4      P                   24      h\        VP                  4      ^8w  d#   \        R\        VP                  4       R24      hTP                  \        P                  ! VP                  R,          VP                  ^ ,          .4      VP                  VP                  VP                  VP                  VP                  e   VP                  P!                  ^ ^4      MRV^ ,          P"                  V^ ,          P$                  R7      # )r   r   r   zexpected 2D tensor, got ÚDN)r(   r)   Úpacked_tÚmeta_tÚcompressed_swizzled_bitmaskÚfuse_transpose_cusparseltÚalg_id_cusparseltr    )r!   r"   r#   r   r$   r%   r&   r'   r*   Ú	__class__ÚSizer=   r>   r(   r)   r?   Ú	transposer@   rA   ©r   r   r   r   Úselfs   &&&& r	   Úsemi_sparse_trG   K   s.  € Ü
ˆ4ƒy�A„~ÜÐ3´C¸³I°;Ð?Ó@Ð@Ø��7€DÜ�dœEŸL™L×CÑC×DÒDÜØ7¼¸T»
×8KÑ8KÐ7LÐMó
ð 	
ô ˆ4�:‰:ƒ˜!ÔÜÐ7¼¸D¿J¹J»Ð7HÈÐJÓKÐKð
 �>‰>Ü�
Š
�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                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   i   s   € ÷ ñ ¼5¿<¹<ñ r   c                 ó®   € \        V4      ^8w  d   \        R\        V4       24      hVw  rE\        V4      VP                  8w  d   \	        RV R24      hV# )r   úexpected 2 args, got z[`view` is not implemented for SparseSemiStructuredTensor, except for the dummy case (shape=Ú))r!   r"   Útupler*   ÚNotImplementedError)r   r   r   r   rF   r*   s   &&&&  r	   Úsemi_sparse_viewrN   i   s^   € Ü
ˆ4ƒy�A„~ÜÐ4´S¸³Y°KÐ@ÓAÐAØ�K€DÜˆUƒ|�t—z‘zÔ!Ü!ØiÐjoÐipÐpqÐró
ð 	
ð €Kr   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   t   s   € ÷ ñ ´U·\±\ñ r   c                 ó6  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          pVP                  VP                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  RR7	      # )r   r   F©	r*   r(   r)   r=   r>   r?   r@   rA   Úrequires_grad)r!   r"   rB   r*   r(   r)   r=   r>   r?   r@   rA   rE   s   &&&& r	   Úsemi_sparse_detachrS   t   s„   € Ü
ˆ4ƒy�A„~ÜÐ3´C¸³I°;Ð?Ó@Ð@Ø��7€DØ�>‰>Ø�j‰jØ�{‰{Ø�Y‰YØ—‘Ø�{‰{Ø$(×$DÑ$DØ"&×"@Ñ"@Ø×0Ñ0Øð ó 
ð 
r   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   …   s   € ÷ 7ñ 7¼¿¹ñ 7r   c                 ó  € \        V4      ^8w  d   \        R\        V4       24      hVw  rEVP                  ^8w  g   VP                  ^8w  d   \        R4      h\	        V\
        P                  P                  4      '       d   VP                  V4      # VP                  4       p\	        V\
        P                  P                  4      '       g"   \        R\        V4      P                   24      hVP                  VRR7      # )r   rJ   úD`SparseSemiStructuredTensor` matmul: Broadcasting is not implementedr   T)Úshould_transpose_dense)r!   r"   ÚndimrM   r#   r   r$   r%   Ú_mmÚtr&   r'   )r   r   r   r   r.   ÚBÚB_ts   &&&&   r	   Úsemi_sparse_mmr]   …   sÏ   € Ü
ˆ4ƒy�A„~ÜÐ4´S¸³Y°KÐ@ÓAÐAØ�D€AØ‡v�v�„{�a—f‘f ”kÜ!ØRó
ð 	
ô �!”U—\‘\×<Ñ<×=Ò=Ø�u‰u�Q‹xˆà�c‰c‹eˆÜ˜#œuŸ|™|×FÑF×GÒGÜ Ø;¼DÀ»I×<NÑ<NÐ;OÐPóð ð �w‰w�q°ˆwÓ6Ð6r   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   ˜   s   € ÷ >ñ >¼E¿L¹Lñ >r   c                 óh  € \        V4      ^8w  d   \        R\        V4       24      hVw  rEpVP                  ^8w  g   VP                  ^8w  d   \        R4      hVP                  ^8w  d   \        RVP                   24      h\        V\        P                  P                  4      '       d   \        R4      hVP                  4       p\        V\        P                  P                  4      '       g"   \        R\        V4      P                   24      hVP                  w  r‰VP                  WTRR7      # )é   zexpected 3 args, got rV   zF`SparseSemiStructuredTensor` matmul: only bias dim=1 supported. Shape=zL`SparseSemiStructuredTensor` matmul: only operand B of `addmm` can be sparser   T)ÚbiasrW   )r!   r"   rX   rM   r*   r#   r   r$   r%   rZ   r&   r'   rY   )
r   r   r   r   ra   r.   r[   r\   ÚrowÚ_cols
   &&&&      r	   Úsemi_sparse_addmmrd   ˜   s  € Ü
ˆ4ƒy�A„~ÜÐ4´S¸³Y°KÐ@ÓAÐAØ�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ÜØ7¼¸S»	×8JÑ8JÐ7KÐLó
ð 	
ð —‘�I€CØ�7‰7�1¸ˆ7Ó=Ð=r   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   ±   s   € ÷ %ñ %¼U¿\¹\ñ %r   c                 óˆ  € \        V4      R9  d   \        R\        V4       24      hVR,          w  rE\        V4      ^8X  d
   V^,          MRpVP                  pVP                  RVR,          4      pVf   W…P	                  4       ,          p	M\        RRWhVP	                  4       .R7      p	V	P                  ! . VRR ORN5!  # )r   zexpected 2 or 3 args, got :Nr   NN)r   r   r   )r   r`   r    )r!   r"   r*   r,   rZ   rd   )
r   r   r   r   r.   r[   ra   r*   ÚA_2dÚress
   &&&&      r	   Úsemi_sparse_linearri   ±   s±   € Ü
ˆ4ƒy˜ÔÜÐ9¼#¸d»)¸ÐEÓFÐFØ��8�D€AÜ˜$“i 1”nˆ4�Ž7¨$€Dà�G‰G€EØ�6‰6�"�e˜B•iÓ €DØ‚|Ø—S‘S“U�l‰äØØØ˜aŸc™c›eÐ$ô
ˆð
 �8Š8Ð$�U˜3˜B�ZÐ$ Ó$Ð$r   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   Ä   s   € ÷ !ñ !ÄÇÁñ !r   c                 óŽ  € VR ,          w  rErgr‰p
VP                   \        P                  8w  d   \        RVP                    24      hVP                   \        P                  8w  d   \        RVP                    24      h\	        V\        P
                  P                  4      '       g"   \        R\        V4      P                   24      hVP                  f   \        R4      hVP                  4       ^8w  g   VP                  4       ^8w  d.   \        RVP                  4        RVP                  4        24      hVP                   \        P                  8w  g    VP                   \        P                  8w  d&   \        RVP                    RVP                    24      h\        P                  ! VP                  VWg,          V
R7      pV# )	:Né   Nz$expected A.dtype float8_e4m3fn, got z$expected B.dtype float8_e4m3fn, got z3expected SparseSemiStructuredTensorCUSPARSELT, got r   z2expected A_scale and B_scale to have numel 1, got z and z0expected A_scale and B_scale dtype float32, got )ÚalphaÚ	out_dtype)r5   r   Úfloat8_e4m3fnr"   r#   r$   Ú$SparseSemiStructuredTensorCUSPARSELTr&   r'   r(   ÚnumelÚfloat32Ú_cslt_sparse_mm)r   r   r   r   r.   r[   ÚA_scaleÚB_scalera   Úscale_resultrn   Úsparse_results   &&&&        r	   Úsemi_sparse_scaled_mmrx   Ä   sy  € à<@À½HÑ9€Aˆ'˜D°	à‡w�w”%×%Ñ%Ô%ÜÐCÀAÇGÁGÀ9ÐMÓNÐNØ‡w�w”%×%Ñ%Ô%ÜÐCÀAÇGÁGÀ9ÐMÓNÐNä�aœŸ™×JÑJ×KÒKÜØAÄ$ÀqÃ'×BRÑBRÐASÐTó
ð 	
ð 	‡x�xÒÜÐ8Ó9Ð9à‡}�}ƒ˜!Ô˜wŸ}™}›°!Ô3ÜØ@ÀÇÁÃÐ@QÐQVÐW^×WdÑWdÓWfÐVgÐhó
ð 	
ð ‡}�}œŸ™Ô%¨¯©¼%¿-¹-Ô)GÜØ>¸w¿}¹}¸oÈUÐSZ×S`ÑS`ÐRaÐbó
ð 	
ô ×)Ò)Ø	�‰Ø	ØÕØô	€Mð Ðr   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r   è   s   € ÷ ñ ¼E¿L¹Lñ r   c                 ó  € \        V4      ^8w  d   \        R\        V4       24      hV^ ,          p\        V\        P                  P
                  4      '       g"   \        R\        V4      P                   24      hTP                  VP                  VP                  f   RMVP                  P                  4       VP                  f   RMVP                  P                  4       VP                  f   RMVP                  P                  4       VP                  f   RMVP                  P                  4       VP                  f   RMVP                  P                  4       VP                   VP"                  VP$                  R7	      # )r   r   r   NrQ   )r!   r"   r#   r   r$   r%   r&   r'   rB   r*   r(   Úcloner)   r=   r>   r?   r@   rA   rR   rE   s   &&&& r	   Úsemi_sparse_cloner|   è   s/  € Ü
ˆ4ƒy�A„~ÜÐ3´C¸³I°;Ð?Ó@Ð@à��7€DÜ�dœEŸL™L×CÑC×DÒDÜØ7¼¸T»
×8KÑ8KÐ7LÐMó
ð 	
ð
 �>‰>Ø�j‰jØ—{‘{Ò*‰t°·±×0AÑ0AÓ0CØ—Y‘YÒ&‰T¨D¯I©I¯O©OÓ,=ØŸ™Ò.‘°D·M±M×4GÑ4GÓ4IØ—{‘{Ò*‰t°·±×0AÑ0AÓ0Cð ×/Ñ/Ò7ñ à×1Ñ1×7Ñ7Ó9à"&×"@Ñ"@Ø×0Ñ0Ø×(Ñ(ð ó ð r   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r     s   € ÷ ñ ¼5¿<¹<ñ r   c                 óò   € V^ ,          pT;'       g    / pVP                  RR4      pVe?   \        P                  ! V4      P                  R8X  d   VP	                  4       pV ! V3/ VB # \        RV R24      h)r   ÚdeviceNÚcpuz`_to_copy()` with kwargs=zb is not implemented for SparseSemiStructuredTensor. Only converting to CPU is supported currently.)Úgetr   r   r&   Úto_denserM   )r   r   r   r   rF   r   Údenses   &&&&   r	   Úsemi_sparse_to_copyr„     s}   € Ø��7€DØ�\ˆ\�r€Fà�Z‰Z˜ $Ó'€FàÒœeŸlšl¨6Ó2×7Ñ7¸5Ô@Ø—‘“ˆÙ�EÑ$˜VÑ$Ð$ä
Ø
# F 8ð ,Yð 	Yóð r   c                ó8   € V ^8„  d   QhR\         P                  /# r   r   )r   s   "r	   r   r     s   € ÷ ñ ´e·l±lñ r   c                 óÎ  € V^ ,          pVR,          pT;'       g    / pRpV'       dG   V^ ,          p\        V\        P                  \        34      '       d    \        P                  ! V4      pRV9   d   \        P                  ! VR,          4      pVe.   VP
                  R8X  d   VP                  4       pV ! V.VO5/ VB # \        RV RV R24      h  \         d     Lti ; i)r   :r   NNNr   r€   z`to()` with args=z	, kwargs=z\ is not implemented for SparseSemiStructuredTensor. Only `to('cpu')` is supported currently.)r#   r   r   ÚstrÚRuntimeErrorr&   r‚   rM   )	r   r   r   r   rF   Úremaining_argsr   Ú	first_argrƒ   s	   &&&&     r	   Úsemi_sparse_tor‹     så   € Ø��7€DØ˜"•X€NØ�\ˆ\�r€Fð €FßØ" 1Õ%ˆ	Ü�i¤%§,¡,´Ð!4×5Ò5ðÜŸš iÓ0�ð �6ÔÜ—’˜f XÕ.Ó/ˆàÒ˜fŸk™k¨UÔ2Ø—‘“ˆÙ�EÐ5˜NÒ5¨fÑ5Ð5ä
Ø
˜NÐ+¨9°V°Hð =Sð 	Sóð øô  ô Ùðús   ÁC ÃC$Ã#C$)r   r2   r9   rG   rN   rS   r]   rd   ri   rx   r|   r‹   r„   )© Nr   )Ú
contextlibr   Ú__all__Úcontextmanagerr
   r   r2   r9   rG   rN   rS   r]   rd   ri   rx   r|   r„   r‹   rŒ   r   r	   Ú<module>r�      ss   ðã ã ò€ð" ×Ññó ðò÷
!÷$÷&÷<õ÷"7÷&>÷2%÷&!÷H÷8÷ ñ r   