+
    "Ý³j›„  ã                  ó*  € ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIHtHt ^ RIHtHt ^ RIt^ RIt^ RIHt ^RIHtHtHtHtHtHtHt ^RI H!t! ^RI"H#t# ^R	I$H%t%H&t& ^R
I'H(t( ]#! 4       t)Rt*Rt+Rt,R], R2t-Rt.Rt/Rt0Rt1^t2Rt3]Ph                  ! R]Pj                  Pl                  R7      t7R­t8Rt9R®t:Rt;R¯t<R°t=R±t>R R lt?R R lt@R R ltAR R  ltBR! R" ltCR# R$ ltDR% R& ltER' R( ltFR) R* ltGR+ R, ltHR- R. ltIR/ R0 ltJR1 R2 ltKR3 R4 ltLR5 R6 ltMR7 R8 ltNR9 R: ltOR; R< ltPR= R> ltQR? R@ ltRRARB/RC RD lltSRE RF ltTRG RH ltUR²RI RJ lltVR²RK RL lltWR²RM RN lltXRO RP ltYRQ RR ltZRS RT lt[R²RU RV llt\R²RW RX llt]R²RY RZ llt^R[ R\ lt_R] R^ lt`R_ R` ltaRa Rb ltbRc Rd ltcRe Rf ltdRg Rh lte]! R³/ Ri]*bRj]+bRkR´bRl]`bRmRnbRoRp bRqRrbRs]bbRt]dbRu]abRv]ebRwRxbRyRzbR{R|bR}R~bRRBbR€RBb tfR� tgR²R‚ Rƒ llthR„ R… ltiR† R‡ ltjRˆ R‰ ltkR²RŠ R‹ lltlR²RŒ R� lltmRŽ R� ltnR²R� R‘ lltoR’ R“ ltpR” R• ltqR– R— ltrR˜ R™ ltsRš R› lttRœ R� ltuRµRž RŸ lltvR RR¡RR¢RR£RR¤RR¥RR¦R/R§ R¨ lltwR¶R© Rª lltxR¶R« R¬ llty. R·OtzR# )¸é    )ÚannotationsN)ÚPathÚPurePosixPath)ÚListÚOptional)ÚFileLock)ÚTorchOpsJitExtensionÚ cuda_include_paths_with_fallbackÚdefault_jit_cflagsÚdefault_jit_cuda_cflagsÚdefault_torch_ops_build_rootÚis_nvcc_compatibleÚresolved_cuda_arch_flags©Úenv_flag)Úsetup_logger)Ú
ScalarTypeÚscalar_types)ÚIS_ROCMÚgptqmodel_machete_opsÚgptqmodel_machetez4.7.1z5https://github.com/NVIDIA/cutlass/archive/refs/tags/vú.tar.gzÚ@8290eb914cd5aaf4c665ee4108ba5bd65383cfee1296286a42a7ef711554d365z.gptqmodel_cutlass_versionz.gptqmodel_completez.gptqmodel_manifest.jsoniX  z5^\s*#define\s+CUTLASS_(MAJOR|MINOR|PATCH)\s+(\d+)\s*$©Úflagsi   Ú16c               ó   € V ^8„  d   QhRR/# ©é   Úreturnr   © )Úformats   "ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/machete.pyÚ__annotate__r$   O   s   € ÷ /ñ /˜tñ /ó    c                 ó^   € \        \        4      P                  4       P                  ^,          # )r   )r   Ú__file__ÚresolveÚparentsr!   r%   r#   Ú_machete_project_rootr*   O   s    € Ü”‹>×!Ñ!Ó#×+Ñ+¨AÕ.Ð.r%   c               ó   € V ^8„  d   QhRR/# r   r!   )r"   s   "r#   r$   r$   S   s   € ÷ Añ A˜dñ Ar%   c                 ó2   € \        4       R ,          R,          # )Úgptqmodel_extÚmachete©r*   r!   r%   r#   Ú_machete_source_rootr0   S   s   € Ü Ó" _Õ4°yÕ@Ð@r%   c               ó   € V ^8„  d   QhRR/# r   r!   )r"   s   "r#   r$   r$   W   s   € ÷ /ñ / $ñ /r%   c                 ó$   € \        4       R ,          # ©Úcutlassr/   r!   r%   r#   Ú_repo_local_cutlass_rootr5   W   s   € Ü Ó" YÕ.Ð.r%   c               ó   € V ^8„  d   QhRR/# r   r!   )r"   s   "r#   r$   r$   [   s   € ÷ 	0ñ 	0˜dñ 	0r%   c                 ó2  € \         P                  ! R4      p V '       d   \        V 4      P                  4       # \         P                  ! R4      pV'       d!   \        V4      P                  4       R,          # \        P                  ! 4       R,          R,          # )z?Return the user cache root used by downloaded source artifacts.ÚGPTQMODEL_CACHE_DIRÚXDG_CACHE_HOMEÚ	gptqmodelz.cache)ÚosÚgetenvr   Ú
expanduserÚhome)Ú
configuredÚxdg_cache_homes     r#   Ú_gptqmodel_cache_dirrA   [   sk   € ô —’Ð0Ó1€JßÜ�JÓ×*Ñ*Ó,Ð,Ü—Y’YÐ/Ó0€NßÜ�NÓ#×.Ñ.Ó0°;Õ>Ð>Ü�9Š9‹;˜Õ! KÕ/Ð/r%   c               ó   € V ^8„  d   QhRR/# ©r   r    Ústrr!   )r"   s   "r#   r$   r$   g   s   € ÷ ;ñ ;˜Cñ ;r%   c                 ó    € \          R \         2# )Ú-)Ú_CUTLASS_VERSIONÚ_CUTLASS_ARCHIVE_SHA256r!   r%   r#   Ú_cutlass_cache_keyrI   g   s   € ÜÐ˜qÔ!8Ð 9Ð:Ð:r%   c               ó   € V ^8„  d   QhRR/# r   r!   )r"   s   "r#   r$   r$   k   s   € ÷ Eñ E˜Dñ Er%   c                 óB   € \        4       R ,          \        4       ,          # r3   )rA   rI   r!   r%   r#   Ú_cutlass_cache_dirrL   k   s   € ÜÓ! IÕ-Ô0BÓ0DÕDÐDr%   c               ó   € V ^8„  d   QhRR/# r   r!   )r"   s   "r#   r$   r$   o   s   € ÷ 0ñ 0 Tñ 0r%   c                 ó$   € \        4       R ,          # )Ú	downloads©rA   r!   r%   r#   Ú_cutlass_download_cache_dirrQ   o   s   € ÜÓ! KÕ/Ð/r%   c               ó   € V ^8„  d   QhRR/# r   r!   )r"   s   "r#   r$   r$   s   s   € ÷ Uñ U˜tñ Ur%   c                 ó<   € \        4       R \        4        R2,          # )z	cutlass-vr   )rQ   rI   r!   r%   r#   Ú_cutlass_archive_pathrT   s   s   € Ü&Ó(¨YÔ7IÓ7KÐ6LÈGÐ+TÕTÐTr%   c               ó    € V ^8„  d   QhRRRR/# )r   ÚnamerD   r    r   r!   )r"   s   "r#   r$   r$   w   s   € ÷ =ñ = 3ð =¨4ñ =r%   c                ó8   € \        4       R ,          V  R2,          # )Úlocksz.lockrP   ©rV   s   &r#   Ú_machete_cache_lock_pathrZ   w   s   € ÜÓ! GÕ+°°°e¨nÕ<Ð<r%   c               ó   € V ^8„  d   QhRR/# ©r   r    Úboolr!   )r"   s   "r#   r$   r$   {   s   € ÷ 8ñ 8�tñ 8r%   c                 ó   € \        R RR7      # )ÚGPTQMODEL_OFFLINEF)Údefaultr   r!   r%   r#   Ú_offline_modera   {   s   € ÜÐ'°Ô7Ð7r%   c               ó    € V ^8„  d   QhRRRR/# )r   Úpathr   r    rD   r!   )r"   s   "r#   r$   r$      s   € ÷ ñ �$ð ˜3ñ r%   c                ó&  a€ \         P                  ! 4       pV P                  R 4      ;_uu_ 4       o\        V3R lR4       F  pVP	                  V4       K  	  RRR4       VP                  4       #   + '       g   i     TP                  4       # ; i)Úrbc                 ó&   <€ S P                  R4      # )i   i   )Úread)Úhandles   €r#   Ú<lambda>Ú_sha256.<locals>.<lambda>‚   s   ø€  &§+¡+¨kÔ":r%   r%   N)ÚhashlibÚsha256ÚopenÚiterÚupdateÚ	hexdigest)rc   ÚdigestÚchunkrh   s   &  @r#   Ú_sha256rs      sl   ø€ Ü�^Š^Ó€FØ	�‰�4�Œ˜FÜÔ:¸CÖ@ˆEØ�M‰M˜%Ö ñ A÷ 
ð ×ÑÓÐ÷ 
Žð ×ÑÓÐús   °)A1Á1B	c               ó    € V ^8„  d   QhRRRR/# )r   rV   rD   r    r   r!   )r"   s   "r#   r$   r$   ‡   s   € ÷ Qñ Q cð Q¨hñ Qr%   c                ó†   € \        V 4      pVP                  P                  R R R7       \        \	        V4      \
        R7      # )T©r)   Úexist_ok)Útimeout)rZ   ÚparentÚmkdirr   rD   Ú#_MACHETE_CACHE_LOCK_TIMEOUT_SECONDS)rV   Ú	lock_paths   & r#   Ú_acquire_machete_cache_lockr}   ‡   s7   € Ü(¨Ó.€IØ×Ñ×Ñ 4°$ÐÔ7Ü”C˜	“NÔ,OÔPÐPr%   c               ó    € V ^8„  d   QhRRRR/# ©r   Úcutlass_rootr   r    r]   r!   )r"   s   "r#   r$   r$   �   s   € ÷ ñ °4ð ¸Dñ r%   c                óŽ   € V R ,          pVR,          P                  4       ;'       g    VR,          R,          P                  4       # )Úpythonúcutlass_library.pyÚcutlass_libraryú__init__.py)Úis_file)r€   Ú
python_dirs   & r#   Ú _cutlass_python_bindings_presentrˆ   �   sF   € Ø Õ(€Jà	Ð*Õ	*×3Ñ3Ó5÷ 	Fð 	FØÐ*Õ*¨]Õ:×CÑCÓEðr%   c               ó    € V ^8„  d   QhRRRR/# r   r!   )r"   s   "r#   r$   r$   •   s   € ÷ ñ ¨Tð °dñ r%   c                óˆ  € V R ,          R,          R,          pV R,          R,          R,          pV R,          R,          R,          P                  4       ;'       di    V R,          R,          R,          P                  4       ;'       d<    VP                  4       ;'       g    VP                  4       ;'       d    \        V 4      # )ÚexamplesÚcommonÚincludeÚtoolsÚutilr4   z	cutlass.hÚlibrary)r†   Úis_dirrˆ   )r€   Úcommon_include_dirÚutil_include_dirs   &  r#   Ú_cutlass_checkout_completer”   •   s­   € Ø%¨
Õ2°XÕ=À	ÕIÐØ# gÕ-°Õ6¸ÕBÐà	˜	Õ	! IÕ	-°Õ	;×DÑDÓF÷ 	;ð 	;Ø˜GÕ# iÕ/°)Õ;×CÑCÓE÷	;ð 	;à×&Ñ&Ó(×EÐEÐ,<×,CÑ,CÓ,E÷	;ð 	;ô -¨\Ó:ð	r%   c               ó    € V ^8„  d   QhRRRR/# )r   r€   r   r    r!   )r"   s   "r#   r$   r$       s   € ÷ 2ñ 2°Tð 2¸dñ 2r%   c                ó   € V \         ,          # ©N)Ú_CUTLASS_VERSION_MARKER©r€   s   &r#   Ú"_repo_local_cutlass_version_markerrš       s   € ØÔ1Õ1Ð1r%   c               ó    € V ^8„  d   QhRRRR/# ©r   r€   r   r    úOptional[str]r!   )r"   s   "r#   r$   r$   ¤   s   € ÷ 
Dñ 
D¨Dð 
D°]ñ 
Dr%   c                ó0  € V R ,          R,          R,          pVP                  4       '       g   R# \        \        P                  VP	                  RR7      4      4      p0 R
mpVP                  4       V8  d   R# VR,           R	VR,           R	VR,           2# )r�   r4   z	version.hNúutf-8©ÚencodingÚMAJORÚMINORÚPATCHÚ.>   r¢   r£   r¤   )r†   ÚdictÚ_CUTLASS_VERSION_DEFINE_PATTERNÚfindallÚ	read_textÚkeys)r€   Úversion_headerÚmacrosÚrequired_macross   &   r#   Ú_cutlass_checkout_versionr®   ¤   s‰   € Ø! IÕ-°	Õ9¸KÕG€NØ×!Ñ!×#Ò#ÙäÔ1×9Ñ9¸.×:RÑ:RÐ\cÐ:RÓ:dÓeÓf€FÚ1€OØ‡{�{ƒ}�Ô&Ùà�W�oÐ˜a  w¥Ð0°°&¸µ/Ð1BÐCÐCr%   c               ó    € V ^8„  d   QhRRRR/# rœ   r!   )r"   s   "r#   r$   r$   ±   s   € ÷ ñ °$ð ¸=ñ r%   c                ót   € \        V 4      pVf   RV  R\         R2# V\        8w  d   RV  RV R\         R2# R # )NÚ`zQ` is missing a readable `include/cutlass/version.h`; GPTQModel requires CUTLASS vr¥   z` contains CUTLASS vz, but GPTQModel requires v)r®   rG   )r€   Úversions   & r#   Ú_cutlass_checkout_version_errorr³   ±   sa   € Ü'¨Ó5€GØ‚à�ˆ~ð +Ü+;Ð*<¸Að?ð	
ð Ô"Ô"à�ˆ~Ð1°'°Ð:TÔUeÐTfÐfgÐhð	
ñ r%   c               ó    € V ^8„  d   QhRRRR/# )r   r€   r   r    ÚNoner!   )r"   s   "r#   r$   r$   ¿   s   € ÷ ñ  dð ¨tñ r%   c                ó�   € \        V 4      P                  \        P                  ! R\        R\
        /RR7      R,           RR7       R# )	zGMark a cache-owned checkout complete; never call this for user sources.r²   Úarchive_sha256T©Ú	sort_keysÚ
rŸ   r    N)rš   Ú
write_textÚjsonÚdumpsrG   rH   r™   s   &r#   Ú_mark_cutlass_cacher¾   ¿   sN   € ô ' |Ó4×?Ñ?Ü�
Š
àÔ+Ø Ô"9ðð ô	
ð õ	ð ð @ö 
r%   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚurlrD   Údestinationr   r    rµ   r!   )r"   s   "r#   r$   r$   Ï   s!   € ÷ ñ  3ð °Tð ¸dñ r%   c           	     ó`  € VP                   P                  RRR7       VP                  RVP                   R\        P
                  ! 4        R24      p VP                  4       '       d   VP                  4        \        P                  R\        V4       \        P                  P                  V 4      ;_uu_ 4       q2P                  R4      ;_uu_ 4       p\        P                   ! W44       RRR4       RRR4       \#        V4      pV\$        8w  d   \'        R\$         R	V R24      h\        P(                  ! W!4        VP                  4        R#   + '       g   i     Lm; i  + '       g   i     Lx; i  \*         d     R# i ; i   TP                  4        i   \*         d     i i ; i; i)
z;Download and atomically publish the pinned CUTLASS archive.Trv   r¥   z.tmpz+Machete: downloading CUTLASS v%s into `%s`.ÚwbNz5Machete: CUTLASS archive checksum mismatch: expected ú, got )ry   rz   Ú	with_namerV   r;   ÚgetpidÚexistsÚunlinkÚlogÚinforG   ÚurllibÚrequestÚurlopenrm   ÚshutilÚcopyfileobjrs   rH   ÚRuntimeErrorÚreplaceÚFileNotFoundError)rÀ   rÁ   ÚpartialÚresponserh   Úactuals   &&    r#   Ú_download_cutlass_archiverÖ   Ï   sO  € ð ×Ñ×Ñ T°DÐÔ9Ø×#Ñ# a¨×(8Ñ(8Ð'9¸¼2¿9º9»;¸-ÀtÐ$LÓM€GðØ�>‰>×ÒØ�N‰NÔä�‰Ð>Ô@PÐR]Ô^Ü�^‰^×#Ñ# C×(Ô(¨H·l±lÀ4×6HÔ6HÈFÜ×Ò˜xÔ0÷ 7I×(ä˜Ó!ˆØÔ,Ô,ÜðÜ3Ð4°F¸6¸(À!ðEóð ô 	�
Š
�7Ô(ð	Ø�N‰NÖ÷ 7I×6Hú×(×(ûô !ô 	âð	ûð	Ø�N‰NÕøÜ ô 	áð	ýsz   ÁF	 Á*AF	 Â<E$ÃE	Ã,E$Ã4A
F	 Ä?E7 ÅE!ÅE$Å$E4	Å/F	 Å7FÆFÆ	F-ÆFÆF-ÆF*Æ'F-Æ)F*Æ*F-c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úarchive_pathr   Údestination_parentr    rµ   r!   )r"   s   "r#   r$   r$   ê   s!   € ÷ >ñ >¨4ð >ÀTð >Èdñ >r%   c           	     ó†  € \         P                  ! V R4      ;_uu_ 4       pVP                  4       pVP                  4       pV Fÿ  p\	        VP
                  4      pVP                  4       '       g   RVP                  9   d   \        RVP
                   R24      hWP
                  ,          P                  RR7      p VP                  V4       TP                  4       '       gG   TP                  4       '       g1   TP                  4       '       d   KÐ  TP                  4       '       d   Kè  \        RTP
                   R24      h	  R	V/p	\        P                   R8¼  d   R
V	R&   VP"                  ! RRV/V	B  RRR4       R#   \         d    p\        RTP
                   R24      ThRp?ii ; i  + '       g   i     R# ; i)zFExtract a tarball after rejecting traversal, links, and special files.zr:gzz..z(Machete: unsafe CUTLASS archive member `z`.F)ÚstrictNz7Machete: unsupported or unsafe CUTLASS archive member `rc   ÚdataÚfilterÚmembers)é   é   r!   )Útarfilerm   r(   Ú
getmembersr   rV   Úis_absoluteÚpartsrÐ   Úrelative_toÚ
ValueErrorÚissymÚislnkÚisdirÚisfileÚsysÚversion_infoÚ
extractall)
rØ   rÙ   ÚarchiveÚrootrÞ   ÚmemberÚmember_pathÚtargetÚexcÚextract_kwargss
   &&        r#   Ú_extract_cutlass_archiverõ   ê   sx  € ô 
�Š�l F×	+Ô	+¨wØ!×)Ñ)Ó+ˆØ×$Ñ$Ó&ˆÛˆFÜ'¨¯©Ó4ˆKØ×&Ñ&×(Ò(¨D°K×4EÑ4EÔ,EÜ"Ð%MÈfÏkÉkÈ]ÐZ\Ð#]Ó^Ð^Ø(¯;©;Õ6×?Ñ?ÀuÐ?ÓMˆFðhØ×"Ñ" 4Ô(ð �|‰|�~Š~ §¡§¢¸¿¹¿¼È&Ï-É-Ï/Ì/Ü"ØMÈfÏkÉkÈ]ÐZ\Ð]óð ñ ð !Ð"4Ð5ˆÜ×Ñ˜wÔ&Ø'-ˆN˜8Ñ$Ø×ÒÑ= 7Ð=¨nÒ=÷' 
,Ñ	+øô ô hÜ"Ð%MÈfÏkÉkÈ]ÐZ\Ð#]Ó^ÐdgÐgûðhú÷ 
,×	+Ð	+úsI    BF/Â>FÃF/Ã%F/Ã;F/ÄF/Ä+AF/ÆF,	ÆF'	Æ'F,	Æ,F/Æ/G 	Úrequire_markerFc               ó$   € V ^8„  d   QhRRRRRR/# )r   r€   r   rö   r]   r    rµ   r!   )r"   s   "r#   r$   r$     s"   € ÷ ñ ¨Tð Àdð ÐW[ñ r%   c               ó°  € \        V 4      '       g   \        R V  R\         R24      h\        V 4      pV'       d   \        RV 24      hV'       dX   \	        V 4      p \
        P                  ! VP                  RR7      4      pR	\        R
\        /pYF8w  d   \        RT  R24      hR# R#   \        \        \        3 d   p\        RT  R24      ThRp?ii ; i)zMachete: CUTLASS checkout `z-` is incomplete; GPTQModel requires CUTLASS vr¥   z	Machete: rŸ   r    zMachete: CUTLASS cache `z'` is missing a valid completion marker.Nr²   r·   z0` has a stale or incompatible completion marker.)r”   rÐ   rG   r³   rš   r¼   Úloadsr©   ÚOSErrorræ   Ú	TypeErrorrH   )r€   rö   Úversion_errorÚmarkerÚmarker_dataró   Úexpecteds   &$     r#   Ú_validate_cutlass_checkoutr     sù   € Ü% l×3Ò3ÜØ)¨,¨ð 8+Ü+;Ð*<¸Að?ó
ð 	
ô 4°LÓA€MßÜ˜Y } oÐ6Ó7Ð7ßÜ3°LÓAˆð	ÜŸ*š* V×%5Ñ%5¸wÐ%5Ó%GÓHˆKð Ô'ØÔ5ð
ˆð Ô"ÜØ*¨<¨.Ð8hÐióð ñ #ñ øô œ¤YÐ/ô 	ÜØ*¨<¨.Ð8_Ð`óàðûð	ús   Á&B* Â*CÃ CÃCc               ó    € V ^8„  d   QhRRRR/# )r   rØ   r   r    r!   )r"   s   "r#   r$   r$     s   € ÷ )ñ )¨$ð )°4ñ )r%   c           	     ób  € V P                  4       '       d   \        V 4      MR pV\        8w  d   \        R\         RV R24      h\	        4       pVP                  4       '       d    \        VRR7       VP                  4       # VP                  4       '       d   \        RV R24      hVP                  pVP                  RRR	7       \        P                  ! VR\         R
2R7      ;_uu_ 4       p\!        V4      p\#        W4       VR\         2,          p\        V4       \%        V4       VP'                  RVP(                   R\*        P,                  ! 4        24      pVP                  4       '       d   \.        P0                  ! VRR7       VP                  4       '       d   \*        P2                  ! W'4        \*        P2                  ! Wb4       TP                  4       '       d   \.        P0                  ! TRR7       RRR4       \        TRR7       TP                  4       #   \         d    \        P                  RT4        EL i ; i  \4         dE    TP                  4       '       d-   TP                  4       '       g   \*        P2                  ! Yr4       h i ; i  + '       g   i     L§; i)ÚmissingzEMachete: refusing to extract an unverified CUTLASS archive: expected rÄ   r¥   T©rö   ú0Machete: ignoring incomplete CUTLASS cache `%s`.zMachete: CUTLASS cache path `z` is not a directory.rv   z.unpack-©ÚdirÚprefixúcutlass-ú.stale-©Úignore_errorsN)r†   rs   rH   rÐ   rL   r‘   r   r(   rÉ   ÚwarningrÇ   ry   rz   ÚtempfileÚTemporaryDirectoryrG   r   rõ   r¾   rÅ   rV   r;   rÆ   rÎ   ÚrmtreerÑ   Ú	Exception)rØ   Úarchive_digestÚcheckoutry   Útemp_dirÚ	temp_rootÚextracted_rootÚstales   &       r#   Ú_cache_cutlass_checkoutr    s  € Ø.:×.BÑ.B×.DÒ.D”W˜\Ô*È)€NØÔ0Ô0ÜðÜ/Ð0°°~Ð6FÀaðIó
ð 	
ô
 "Ó#€HØ‡�×Òð	VÜ& xÀÕEØ×#Ñ#Ó%Ð%ð 
�‰×	Ò	ÜÐ:¸8¸*ÐDYÐZÓ[Ð[à�_‰_€FØ
‡L�L˜¨€LÔ-Ü	×	$Ò	$¨¸!Ô<LÐ;MÈXÐ8V×	WÕ	WÐ[cÜ˜“Nˆ	Ü  Ô9Ø" xÔ0@Ð/AÐ%BÕBˆÜ" >Ô2Ü˜NÔ+à×"Ñ" Q x§}¡} o°W¼R¿YºY»[¸MÐ#JÓKˆØ�<‰<�>Š>Ü�MŠM˜%¨tÕ4Ø�?‰?×ÒÜ�JŠJ�xÔ'ð	Ü�JŠJ�~Ô0ð
 �<‰<�>Š>Ü�MŠM˜%¨tÕ4÷' 
Xô( ˜x¸Õ=Ø×ÑÓÐøô9 ô 	VÜ�K‰KÐJÈH×Uð	Vûô* ô 	Ø�|‰|�~Š~ h§o¡o×&7Ò&7Ü—
’
˜5Ô+Øð	ú÷ 
X×	WúsO   Á&H$ Ã/B4JÆ$JÆ;IÇJÇ'JÈ$!I	ÉI	É JÉ-JÊJÊJÊJ.	c               ó   € V ^8„  d   QhRR/# r   r!   )r"   s   "r#   r$   r$   J  s   € ÷ 85ñ 85 ñ 85r%   c                 ó  € \         P                  ! R4      p V '       d6   \        V 4      P                  4       P	                  4       p \        V4       V# \        4       P	                  4       pVP                  4       '       d    \        V4       V# \        R\         24      ;_uu_ 4        \        4       pVP                  4       '       d)    \        VRR7       VP	                  4       uuRRR4       # \        4       pVP!                  4       '       d   \#        V4      MRpV\$        8H  pV'       g²   \'        4       '       d/   Ve   R
V R\$         2MRp\        R\        : RV: RV: R24      h\)        \*        V4       VP!                  4       '       d   \#        V4      \$        8w  d:   VP!                  4       '       d   \#        V4      MRp	\        R\$         RV	 R24      h\-        V4      uuRRR4       #   \         d   p\        R\         RT 24      ThRp?ii ; i  \         d    \        P                  RT4        EL´i ; i  \         d    \        P                  R	T4        ELyi ; i  + '       g   i     R# ; i)zKResolve CUTLASS from a strict override, compatible repo checkout, or cache.ÚGPTQMODEL_CUTLASS_DIRzcMachete: GPTQMODEL_CUTLASS_DIR is authoritative and must point to a read-only, compatible CUTLASS vz checkout: Nz@Machete: ignoring incompatible repo-local CUTLASS checkout `%s`.r	  Tr  r  zhas SHA256 z, expected z
is missingz6Machete: GPTQMODEL_OFFLINE=1 and no verified CUTLASS vz% source cache is available; archive `z` a  . Set GPTQMODEL_CUTLASS_DIR to a compatible checkout, or run `python -c "from gptqmodel import extension; extension.load('machete')"` once while online to populate the cache. To skip JIT entirely, set GPTQMODEL_MACHETE_PRECOMPILED_LIBRARY to a compatible shared library.r  z@Machete: downloaded CUTLASS archive checksum mismatch: expected rÄ   r¥   )r;   r<   r   r=   r(   r   rÐ   rG   r5   r‘   rÉ   rÊ   r}   rL   r  rT   r†   rs   rH   ra   rÖ   Ú_CUTLASS_RELEASE_URLr  )
Úconfigured_rootÚconfigured_pathró   Úrepo_local_rootÚcached_checkoutrØ   r  Úarchive_validÚarchive_statusrÕ   s
             r#   Ú_ensure_cutlass_sourcer#  J  sR  € ô —i’iÐ 7Ó8€OßÜ˜Ó/×:Ñ:Ó<×DÑDÓFˆð	Ü& Ô7ð Ðä.Ó0×8Ñ8Ó:€OØ×Ñ×Òð	jÜ& Ô7Ø"Ð"ô 
% xÔ0@Ð/AÐ%B×	CÕ	CÜ,Ó.ˆØ×!Ñ!×#Ò#ðaÜ*¨?È4ÕPØ&×.Ñ.Ó0÷ 
DÒ	Cô -Ó.ˆØ2>×2FÑ2F×2HÒ2Hœ Ô.ÈdˆØ&Ô*AÑAˆßÜ�Šð &Ò1ð " .Ð!1°Ô=TÐ<UÑVà%ð õ
 #÷ («³~ðGóð ô &Ô&:¸LÔIØ×'Ñ'×)Ò)¬W°\Ó-BÔF]Ô-]Ø2>×2FÑ2F×2HÒ2Hœ Ô.Èi�Ü"ð Ü 7Ð8¸¸v¸hÀaðIóð ô ' |Ó4÷C 
DÒ	Cøô ô 	Üð'Ü'7Ð&8¸ÀCÀ5ðJóð ðûð	ûô ô 	jÜ�H‰HÐWÐYh×ið	jûô  ô aÜ—‘ÐNÐP_×`ðaú÷ 
D×	CÐ	Cúsg   ÁG7 ÂH  Â*!I0ÃIÃ3=I0Ä1BI0Æ?-I0Ç7HÈHÈHÈ !IÉIÉ!I-É)I0É,I-É-I0É0J	c               ó    € V ^8„  d   QhRRRR/# )r   Úfingerprintr�   r    r   r!   )r"   s   "r#   r$   r$   …  s   € ÷ ?ñ ?¨ð ?Àñ ?r%   c                óN   € \        4       R ,          R,          pV f   V# W,          # )r.   Ú	generatedrP   )r%  rï   s   & r#   Ú_machete_generated_dirr(  …  s'   € ÜÓ! IÕ-°Õ;€DØÒ&ˆ4Ð>¨DÕ,>Ð>r%   c               ó    € V ^8„  d   QhRRRR/# ©r   Úgenerated_dirúOptional[Path]r    r   r!   )r"   s   "r#   r$   r$   Š  s   € ÷ Rñ R¨nð RÈñ Rr%   c                ó@   € T ;'       g    \        4       \        ,          # r—   )r(  Ú_MACHETE_COMPLETE_MARKER©r+  s   &r#   Ú_machete_generation_markerr0  Š  s   € Ø×5Ð5Ô3Ó5Ô9QÕQÐQr%   c               ó    € V ^8„  d   QhRRRR/# r*  r!   )r"   s   "r#   r$   r$   Ž  s   € ÷ Pñ P°ð PÈ$ñ Pr%   c                ó@   € T ;'       g    \        4       \        ,          # r—   )r(  Ú_MACHETE_MANIFEST_NAMEr/  s   &r#   Ú_machete_generation_manifestr4  Ž  s   € Ø×5Ð5Ô3Ó5Ô9OÕOÐOr%   c               ó    € V ^8„  d   QhRRRR/# ©r   r€   r   r    ú
list[Path]r!   )r"   s   "r#   r$   r$   ’  s   € ÷ ñ °ð ¸*ñ r%   c                óÜ   € V R ,          pVR,          pVP                  4       '       d   V.# VR,          pVR,          P                  4       '       d   \        VP                  R4      4      # . # )r‚   rƒ   r„   r…   z*.py)r†   ÚsortedÚrglob)r€   r‡   ÚmoduleÚpackages   &   r#   Ú_cutlass_python_binding_inputsr=  ’  se   € Ø Õ(€JØÐ.Õ.€FØ‡~�~×ÒØˆxˆØÐ,Õ,€GØ�-Õ×(Ñ(×*Ò*ô
 �g—m‘m FÓ+Ó,Ð,Ø€Ir%   c               ó    € V ^8„  d   QhRRRR/# )r   r€   r   r    rD   r!   )r"   s   "r#   r$   r$   ¡  s   € ÷ [ñ [°ð [¸ñ [r%   c                ón  € R \         R\        R\        R\        P                  P                  R4      R. /p\        \        V 4      4       F   w  r#VP                  4       pVP                  4       '       g+   VR,          P                  RVRVP                  RR	/4       KU  VR,          P                  RVRVP                  R
\        V4      RVP                  4       P                  /4       K¢  	  \        P                   ! \"        P$                  ! VR	R7      P'                  R4      4      P)                  4       # )Úcache_versionÚcutlass_versionÚcutlass_archive_sha256Újinja2_versionÚjinja2ÚinputsÚindexrV   r  Trl   Úsizer¸   rŸ   )Ú!_MACHETE_GENERATION_CACHE_VERSIONrG   rH   Ú	importlibÚmetadatar²   Ú	enumerateÚ_machete_generator_inputsr(   r†   ÚappendrV   rs   ÚstatÚst_sizerk   rl   r¼   r½   Úencoderp   )r€   ÚpayloadrF  rc   Úresolveds   &    r#   Ú_machete_generation_signaturerS  ¡  s  € àÔ:ØÔ+Ø Ô"9Øœ)×,Ñ,×4Ñ4°XÓ>Ø�"ð€Gô !Ô!:¸<Ó!HÖI‰ˆØ—<‘<“>ˆØ×Ñ×!Ò!Ø�HÕ×$Ñ$ g¨u°f¸d¿i¹iÈÐTXÐ%YÔZÙØ�Õ× Ñ Ø�e˜V T§Y¡Y°¼'À(Ó:KÈVÐU]×UbÑUbÓUd×UlÑUlÐmö	
ñ Jô �>Š>œ$Ÿ*š* W¸Ô=×DÑDÀWÓMÓN×XÑXÓZÐZr%   c               ó    € V ^8„  d   QhRRRR/# r6  r!   )r"   s   "r#   r$   r$   ´  s   € ÷ ñ ¨Dð °Zñ r%   c                ó|   € \        4       p\        4       R ,          VR,          R,          R,          .\        V 4      O# )úgenerate.pyr-   Úcutlass_extensionsz!vllm_cutlass_library_extension.py)r*   r0   r=  )r€   Úproject_roots   & r#   rL  rL  ´  sB   € Ü(Ó*€LäÓ Õ.Ø�Õ&Ð)=Õ=Ð@cÕcðô 
(¨Ó	5ðð r%   c               ó    € V ^8„  d   QhRRRR/# )r   r+  r,  r    r7  r!   )r"   s   "r#   r$   r$   ½  s   € ÷ Lñ L¨nð LÈ
ñ Lr%   c                óZ   € \        T ;'       g    \        4       P                  R 4      4      # )z*.cu)r9  r(  Úglobr/  s   &r#   Ú_generated_machete_sourcesr\  ½  s$   € Ü�=×<Ð<Ô$:Ó$<×BÑBÀ6ÓJÓKÐKr%   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r€   r   r+  r,  r    r]   r!   )r"   s   "r#   r$   r$   Á  s$   € ÷ )ñ )Øð)Ø'5ð)à	ñ)r%   c                óˆ  € T;'       g    \        4       p\        V4      p\        V4      p \        VP	                  4       4      p\        R T 4       4      p0 R T 4       m\        k\        kpTP                  4       '       gc   T'       d[   T Uu0 uF  qwP                  kK  	  upT8w  g;   \        ;QJ d    R T 4       F  '       g   K   RM	  R M! R T 4       4      '       d   R #  \        P                  ! TP                  RR7      4      pTP                  R4      \         8w  d   R # TP                  RR7      P#                  4       TP                  R4      8w  d   R # TP                  R4      \%        T 4      8w  d   R # TP                  R	4      p	\'        T	\(        4      '       d*   \+        T	4      T Uu0 uF  qwP                  kK  	  up8w  d   R # T F/  p\-        T4      T	P                  TP                  4      8w  g   K.   R # 	  R#   \
         d     R # i ; iu upi u upi   \
        \.        \0        3 d     R # i ; i)
Fc              3  óJ   "  € T F  qP                   R 8X  g   K  Vx € K  	  R# 5i)ú.cuN)Úsuffix©Ú.0rc   s   & r#   Ú	<genexpr>Ú5_generated_machete_sources_current.<locals>.<genexpr>Ë  s   é € ÐP±¨¿;¹;È%Ñ;OŸtšt³ùs   ‚#™
#c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir—   rY   rb  s   & r#   rd  re  Í  s   é € Ð	2Ñ 1˜�)Ž)Ó 1ùó   ‚c              3  óz   "  € T F1  qP                  4       '       * ;'       g    VP                  4       x € K3  	  R # 5ir—   )r†   Ú
is_symlinkrb  s   & r#   rd  re  Õ  s)   é € ÐKÁ7¸4—<‘<“>Ô!×6Ð6 T§_¡_Ó%6Ô6Ã7ùs   ‚;¢;TrŸ   r    r²   Ú	signatureÚfiles)r(  r0  r4  ÚlistÚiterdirrú   r9  r.  r3  ri  rV   Úanyr¼   rù   r©   ÚgetrH  ÚstriprS  Ú
isinstancer¦   Úsetrs   ræ   rû   )
r€   r+  rý   Úmanifest_pathÚentriesÚgenerated_sourcesÚexpected_namesrc   Úmanifestrk  s
   &&        r#   Ú"_generated_machete_sources_currentrx  Á  sð  € ð "×=Ð=Ô%;Ó%=€MÜ'¨Ó6€FÜ0°Ó?€MðÜ�}×,Ñ,Ó.Ó/ˆô ÑP±ÓPÓPÐðÙ	2Ñ 1Ó	2ðä ðô 	ð€Nð 	× Ñ ×"Ò"ß Ù")Ó*¡'˜$�IŒI¡'Ñ*¨nÔ<ß‹3ÑKÁ7ÓK�3�3Š3ÑKÁ7ÓK×KÒKáðÜ—:’:˜m×5Ñ5¸wÐ5ÓGÓHˆØ�<‰<˜	Ó"Ô&GÔGÙØ×Ñ WÐÓ-×3Ñ3Ó5¸¿¹ÀkÓ9RÔRÙØ�<‰<˜Ó$Ô(EÀlÓ(SÔSÙØ—‘˜WÓ%ˆÜ˜%¤×&Ò&¬#¨e«*Ù"3ó9
Ù"3˜$�IŒIÑ"3ñ9
ô +
ñ Û%ˆDÜ�t‹} §	¡	¨$¯)©)Ó 4Ö4Úñ &ñ
 øôC ô Úðüò +ùò9
øô ”Z¤Ð+ô Úðús`   ¬H ÂHÃ)A H' Ä+4H' Å!H' Æ5H' Æ7H"ÇH' Ç+H' ÈH' ÈH' ÈHÈHÈ"H' È'IÉ Ic               ó$   € V ^8„  d   QhRRRRRR/# )r   r€   r   Ú
output_dirr,  r    rµ   r!   )r"   s   "r#   r$   r$   í  s"   € ÷ 
ñ 
¨ð 
¸>ð 
ÐUYñ 
r%   c           	     óü  € \        4       R ,          pT;'       g    \        4       p\        P                  P	                  4       p\        V 4      VR&   \        P                  RV4       \        P                  ! \        P                  \        V4      R\        V4      .\        \        4       4      VRRRR7      pVP                  ^ 8w  d3   \        RVP                   RVP                   R	VP                    24      hR
# )rV  r  z:Machete: generating CUTLASS-backed kernel sources in `%s`.z--output-dirFT)ÚcwdÚenvÚcheckÚcapture_outputÚtextz9Machete: failed to generate kernel sources.
Return code: z	
Stdout: z	
Stderr: N)r0   r(  r;   ÚenvironÚcopyrD   rÉ   rÊ   Ú
subprocessÚrunrë   Ú
executabler*   Ú
returncoderÐ   ÚstdoutÚstderr)r€   rz  Ú	generatorr}  Úresults   &&   r#   Ú_run_machete_generatorr‹  í  sá   € Ü$Ó&¨Õ6€IØ×7Ð7Ô5Ó7€JÜ
�*‰*�/‰/Ó
€CÜ#& |Ó#4€CÐÑ ä‡H�HÐIÈ:ÔVÜ�^Š^Ü	�‰œ˜Y›¨¼¸Z»ÐIÜÔ%Ó'Ó(ØØØØô€Fð ×Ñ˜AÔÜðØ"×-Ñ-Ð.ð /Ø—}‘}�oð &Ø—}‘}�oð'ó
ð 	
ñ r%   c               ó   € V ^8„  d   QhRR/# )r   r    r7  r!   )r"   s   "r#   r$   r$     s   € ÷ /5ñ /5¨:ñ /5r%   c                 ó  € \        4       p \        V 4      p\        V4      p\        R 4      ;_uu_ 4        \	        W4      '       d   \        V4      uuRRR4       # VP                  pVP                  RRR7       \        P                  ! VRV R2R7      ;_uu_ 4       p\        V4      p\        W4       \        V4      pV'       d;   \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   \        R	4      hVP                  4        Uu. uF  qwP                  R
8w  g   K  VNK  	  ppV'       d)   \        RRP!                  R V 4       4      ,           4      hR\"        RTRV Uu/ uF  qwP$                  \'        V4      bK  	  up/p	\)        V4      P+                  \,        P.                  ! V	R^R7      R,           RR7       \1        V4      P+                  VR,           RR7       VP3                  RVP$                   R\4        P6                  ! 4        24      p
V
P9                  4       '       d   \:        P<                  ! V
RR7       VP9                  4       '       d   \4        P>                  ! W*4        \4        P>                  ! WR4       T
P9                  4       '       d   \:        P<                  ! T
RR7       RRR4       RRR4       \	        Y4      '       g   \        RT R24      h\        T4      # u upi u upi   \@         dE    T
P9                  4       '       d-   TP9                  4       '       g   \4        P>                  ! Y¢4       h i ; i  + '       g   i     LŸ; i  + '       g   i     Lª; i)zmachete-generatedNTrv   r¥   z.tmp-r  c              3  óz   "  € T F1  qP                  4       ;'       g    VP                  4       '       * x € K3  	  R # 5ir—   )ri  r†   rb  s   & r#   rd  Ú4_ensure_generated_machete_sources.<locals>.<genexpr>  s,   é € Ð+rÑ`qÐX\¯O©OÓ,=×,SÐ,SÀTÇ\Á\Ã^ÔASÔ,SÓ`qùs   ‚;�;Fz@Machete: generator completed without producing any CUDA sources.r`  z.Machete: generator produced unexpected files: z, c              3  ó8   "  € T F  qP                   x € K  	  R # 5ir—   rY   rb  s   & r#   rd  r�    s   é € ÐA±j¨d§	¦	³jùrg  r²   rj  rk  )r¹   Úindentrº   rŸ   r    r
  r  z!Machete: generated source cache `z` failed integrity validation.)!r#  rS  r(  r}   rx  r\  ry   rz   r  r  r   r‹  rn  rÐ   rm  ra  ÚjoinrH  rV   rs   r4  r»   r¼   r½   r0  rÅ   r;   rÆ   rÇ   rÎ   r  rÑ   r  )r€   r%  r+  Úgenerated_rootr  Útemp_outputru  rc   Ú
unexpectedrw  r  s              r#   Ú!_ensure_generated_machete_sourcesr–    sÎ  € Ü)Ó+€LÜ/°Ó=€KÜ*¨;Ó7€MÜ	$Ð%8×	9Õ	9Ü-¨l×JÒJÜ-¨mÓ<÷ 
:Ò	9ð '×-Ñ-ˆØ×Ñ T°DÐÔ9Ü×(Ò(¨^ÀaÈÀ}ÐTYÐDZ×[Õ[Ð_gÜ˜x›.ˆKÜ" <Ô=Ü :¸;Ó GÐß$¯«Ñ+rÑ`qÓ+r¯¯ªÑ+rÑ`qÓ+r×(rÒ(rÜ"Ð#eÓfÐfØ+6×+>Ñ+>Ô+@ÓYÑ+@ 4ÇKÁKÐSXÑDXŸ$˜$Ñ+@ˆJÐYßÜ"ØDØ—i‘iÑA±jÓAÓAõBóð ð
 Ô<Ø˜[ØÑ?PÓQÑ?P°tŸ)™)¤W¨T£]Ò2Ñ?PÑQðˆHô
 )¨Ó5×@Ñ@Ü—
’
˜8¨t¸AÔ>ÀÕEÐPWð Aô ô ' {Ó3×>Ñ>¸{ÈTÕ?QÐ\cÐ>Ôdà!×+Ñ+¨a°×0BÑ0BÐ/CÀ7Ì2Ï9Ê9Ë;È-Ð,XÓYˆEØ�|‰|�~Š~Ü—’˜e°4Õ8Ø×#Ñ#×%Ò%Ü—
’
˜=Ô0ðÜ—
’
˜;Ô6ð
 �|‰|�~Š~Ü—’˜e°4Õ8÷E \÷ 
:ôR .¨l×JÒJÜÐ>¸}¸oÐMkÐlÓmÐmÜ% mÓ4Ð4ùò? Zùò Røô ô Ø—<‘<—>’>¨-×*>Ñ*>×*@Ò*@Ü—J’J˜uÔ4Øðú÷; \×[ú÷ 
:×	9ús‘   ´M7ÁAM7Â4M$	ÃM$	Ã'M$	ÄM$	ÄLÄ6LÄ<?M$	Å;LÆCM$	É2M$	Ê	LÊM$	Ê5M$	ËM7Ì
M$	Ì M!Ì3M!Í	M!Í!M$	Í$M4Í/M7Í7N	c               ó   € V ^8„  d   QhRR/# ©r   r    z	list[str]r!   )r"   s   "r#   r$   r$   7  s   € ÷ bñ b˜)ñ br%   c                 ó�   € \        4       p \        4       p\        V R ,          4      .V Uu. uF  p\        V4      NK  	  upO# u upi )zmachete_pytorch.cu)r0   r–  rD   )Úmachete_rootru  rc   s      r#   Ú_machete_sourcesr›  7  sE   € Ü'Ó)€LÜ9Ó;ÐÜ�Ð3Õ3Ó4ÐaÑN_Ó7`ÑN_Àd¼¸D¾	ÑN_Ñ7`ÐaÐaùÒ7`s   «Ac               ó   € V ^8„  d   QhRR/# r˜  r!   )r"   s   "r#   r$   r$   =  s   € ÷ ñ  	ñ r%   c                 ó  € \        4       p \        4       p\        \        4       P	                  4       4      \        V R ,          P	                  4       4      \        V R ,          R,          P	                  4       4      \        VR,          P	                  4       4      \        VR,          R,          R,          P	                  4       4      .pVR,          R,          R,          pVR,          R,          R,          pVP                  4       '       d)   VP                  \        VP	                  4       4      4       VP                  4       '       d)   VP                  \        VP	                  4       4      4       \        V\        R7      # )	r-   rW  r�   rŽ   r�   r‹   rŒ   r�   )Úrequired_header_names)	r*   r#  rD   r0   r(   r‘   rM  r
   Ú_MACHETE_REQUIRED_CUDA_HEADERS)rX  r€   Úinclude_pathsr’   r“   s        r#   Ú_machete_include_pathsr¡  =  s-  € Ü(Ó*€LÜ)Ó+€LäÔ Ó"×*Ñ*Ó,Ó-Üˆ\˜OÕ+×4Ñ4Ó6Ó7Üˆ\˜OÕ+Ð.BÕB×KÑKÓMÓNÜˆ\˜IÕ%×.Ñ.Ó0Ó1Üˆ\˜GÕ# iÕ/°)Õ;×DÑDÓFÓGð€Mð &¨
Õ2°XÕ=À	ÕIÐØ# gÕ-°Õ6¸ÕBÐØ× Ñ ×"Ò"Ø×ÑœSÐ!3×!;Ñ!;Ó!=Ó>Ô?Ø×Ñ× Ò Ø×ÑœSÐ!1×!9Ñ!9Ó!;Ó<Ô=Ü+ØÜ<ôð r%   c               ó   € V ^8„  d   QhRR/# r˜  r!   )r"   s   "r#   r$   r$   S  s   € ÷ 0ñ 0˜yñ 0r%   c                 ó   € \        R R7      # )T)Úenable_bf16)r   r!   r%   r#   Ú_machete_extra_cflagsr¥  S  s   € Ü¨$Ô/Ð/r%   c               ó   € V ^8„  d   QhRR/# r˜  r!   )r"   s   "r#   r$   r$   W  s   € ÷ 	+ñ 	+¨)ñ 	+r%   c                 óÜ   € \        4       '       d   . # \        ;QJ d$    R  \        4        4       F  '       g   K   RM	  RM! R  \        4        4       4      '       d   . # \        \        4      # )c              3  ó,   "  € T F
  pR V9   x € K  	  R# 5i)Ú90aNr!   )rc  Úflags   & r#   rd  Ú3_machete_hopper_arch_cuda_cflags.<locals>.<genexpr>^  s   é € Ð
@Ñ%?˜Tˆ5�DŽ=Ó%?ùs   ‚TF)Ú_machete_static_runtime_errorrn  r   rl  Ú_MACHETE_SM90A_ARCH_FLAGSr!   r%   r#   Ú _machete_hopper_arch_cuda_cflagsr®  W  sL   € Ü$×&Ò&Øˆ	÷
 ƒsÑ
@Ô%=Ô%?Ó
@‡s‡s‚sÑ
@Ô%=Ô%?Ó
@×@Ò@Øˆ	ÜÔ)Ó*Ð*r%   c               ó   € V ^8„  d   QhRR/# r˜  r!   )r"   s   "r#   r$   r$   c  s   € ÷ ñ  Iñ r%   c                 óœ   € . \         O\        R R R R RR R \        R7      O\        4       Op \	        4       '       d   V P                  ^ R4       V # )TF)r¤  Úinclude_lineinfoÚinclude_nvcc_threadsÚinclude_ptxas_optimizationsÚinclude_ptxas_verbosityÚinclude_fatbin_compressionÚinclude_diag_suppressÚnvcc_threadsz"-static-global-template-stub=false)Ú&_MACHETE_REQUIRED_TORCH_NVCC_UNDEFINESr   Ú_MACHETE_JIT_NVCC_THREADSr®  r   Úinsertr   s    r#   Ú_machete_extra_cuda_cflagsr»  c  sb   € ðÜ	/ðä	 ØØ!Ø!%Ø(,Ø$)Ø'+Ø"&Ü2ô	

ðô 
*Ó	+ð€Eô ×ÒØ�‰�QÐ<Ô=Ø€Lr%   c               ó   € V ^8„  d   QhRR/# r˜  r!   )r"   s   "r#   r$   r$   w  s   € ÷ ñ  	ñ r%   c                 ó   € R .# )z-lcudar!   r!   r%   r#   Ú_machete_extra_ldflagsr¾  w  s   € ð ˆ:Ðr%   rV   Ú	namespaceÚrequired_opsÚsourcesÚbuild_root_envÚGPTQMODEL_MACHETE_BUILD_ROOTÚdefault_build_rootc                 ó   € \        R 4      # )r.   )r   r!   r%   r#   ri   ri   „  s
   € Ô;¸IÔFr%   Údisplay_nameÚMacheteÚextra_cflagsÚextra_cuda_cflagsÚextra_include_pathsÚextra_ldflagsÚforce_rebuild_envÚGPTQMODEL_MACHETE_FORCE_REBUILDÚprebuilt_library_envÚ%GPTQMODEL_MACHETE_PRECOMPILED_LIBRARYÚverbose_envÚGPTQMODEL_EXT_VERBOSEÚrequires_cudaTÚpython_abi_dependentÚ merge_visible_cuda_arch_overridec                 ó   € ^ RI Hp  V # )r   )Ú	extension)r:   rÖ  ©Úextension_apis    r#   Ú_extension_apirÙ  •  s   € Ý4àÐr%   c               ó    € V ^8„  d   QhRRRR/# ©r   ÚdeviceúOptional[torch.device]r    rD   r!   )r"   s   "r#   r$   r$   ›  s   € ÷ &ñ &Ð*@ð &ÈCñ &r%   c                óv  € \         '       d   R # \        P                  P                  4       '       g   R# V e   \        P                  ! V 4      MRpVe    \        P                  P                  V4      M\        P                  P                  4       pV\        8w  dƒ   Ve    \        P                  P                  V4      M:\        P                  P                  \        P                  P                  4       4      pRVP                   RV^ ,           RV^,           R2# Ve    \        P                  P                  V4      M:\        P                  P                  \        P                  P                  4       4      p\        VRVP                  4      pV\        8  d   R\         RVP                   R	V R2# R
# )z(Machete kernel is not supported on ROCm.zMachete kernel requires CUDA.NzzMachete kernel is Hopper-only (SM90); its generated CUTLASS kernels target arch::Sm90 and have no Blackwell image. Found `z` with compute capability r¥   Úshared_memory_per_block_optinz!Machete kernel requires at least z+ bytes of opt-in shared memory per block; `z
` exposes Ú )r   ÚtorchÚcudaÚis_availablerÜ  Úget_device_capabilityÚ$_MACHETE_REQUIRED_COMPUTE_CAPABILITYÚget_device_propertiesÚcurrent_devicerV   ÚgetattrÚshared_memory_per_blockÚ*_MACHETE_MIN_SHARED_MEMORY_PER_BLOCK_OPTIN)rÜ  rò   Ú
capabilityÚpropsrß  s   &    r#   r¬  r¬  ›  s~  € ßƒwÙ9Ü�:‰:×"Ñ"×$Ò$Ù.Ø%+Ò%7ŒU�\Š\˜&Ô!¸T€Fð Òô 	�
‰
×(Ñ(¨Ô0ä�Z‰Z×-Ñ-Ó/ð ð
 Ô9Ô9ð Ò!ô �J‰J×,Ñ,¨VÔ4ä—‘×1Ñ1´%·*±*×2KÑ2KÓ2MÓNð 	ðEØEJÇZÁZÀLð Q"Ø",¨Q¥- °°*¸Qµ-°ÀðCð	
ð Òô 	�
‰
×(Ñ(¨Ô0ä�Z‰Z×-Ñ-¬e¯j©j×.GÑ.GÓ.IÓJð 
ô
 %,ØØ'Ø×%Ñ%ó%Ð!ð
 %Ô'QÔQà/Ü9Ð:ð ;Ø—
‘
ˆ|˜:Ð&CÐ%DÀAðGð	
ñ
 r%   c               ó   € V ^8„  d   QhRR/# )r   r    rµ   r!   )r"   s   "r#   r$   r$   Ä  s   € ÷ /ñ / tñ /r%   c                 ó.   € \         P                  4        R # r—   )Ú_MACHETE_TORCH_OPS_EXTENSIONÚclear_cacher!   r%   r#   Úclear_machete_extension_cacherñ  Ä  s   € Ü ×,Ñ,Ö.r%   c               ó   € V ^8„  d   QhRR/# r\   r!   )r"   s   "r#   r$   r$   È  s   € ÷ 4ñ 4 Tñ 4r%   c                 ó4   € \        4       P                  R4      # )zAReturn extension availability without consulting the current GPU.r.   )rÙ  rã  r!   r%   r#   Úmachete_extension_availablerô  È  s   € äÓ×(Ñ(¨Ó3Ð3r%   c               ó   € V ^8„  d   QhRR/# rC   r!   )r"   s   "r#   r$   r$   Í  s   € ÷ Lñ L ñ Lr%   c                 ó~   € \        4       p V P                  R 4      '       d   R# V P                  R 4      ;'       g    R# )r.   rà  zMachete runtime unavailable.)rÙ  rã  Úerrorr×  s    r#   Úmachete_extension_errorrø  Í  s8   € Ü"Ó$€MØ×!Ñ! )×,Ò,ÙØ×Ñ˜yÓ)×KÐKÐ-KÐKr%   c               ó    € V ^8„  d   QhRRRR/# ©r   rÜ  rÝ  r    r]   r!   )r"   s   "r#   r$   r$   Ô  s   € ÷ )ñ )Ð&<ð )Èñ )r%   c                ó@   € \        V 4      pV'       d   R # \        4       # )F)r¬  rô  ©rÜ  Ústatic_errors   & r#   Úmachete_runtime_availablerþ  Ô  s   € Ü0°Ó8€LßÙÜ&Ó(Ð(r%   c               ó    € V ^8„  d   QhRRRR/# rÛ  r!   )r"   s   "r#   r$   r$   Û  s   € ÷ %ñ %Ð"8ð %ÀCñ %r%   c                ó@   € \        V 4      pV'       d   V# \        4       # r—   )r¬  rø  rü  s   & r#   Úmachete_runtime_errorr  Û  s   € Ü0°Ó8€LßØÐä"Ó$Ð$r%   c               ó   € V ^8„  d   QhRR/# r\   r!   )r"   s   "r#   r$   r$   ã  s   € ÷ <ñ < 4ñ <r%   c                 óD   € \        4       P                  R R7      R ,          # )r.   rY   )rÙ  Úloadr!   r%   r#   Úprewarm_machete_extensionr  ã  s   € ÜÓ× Ñ  iÐ Ó0°Õ;Ð;r%   c               ó    € V ^8„  d   QhRRRR/# rú  r!   )r"   s   "r#   r$   r$   ç  s   € ÷ 7ñ 7Ð-Cð 7Ètñ 7r%   c                ó   € \        V 4      R 8H  # )rà  )r¬  )rÜ  s   &r#   Ú _validate_machete_device_supportr  ç  s   € Ü(¨Ó0°BÑ6Ð6r%   c               ó   € V ^8„  d   QhRR/# r\   r!   )r"   s   "r#   r$   r$   ë  s   € ÷ ñ ¨ñ r%   c                 ób  € \         '       g%   \        P                  P                  4       '       g   R# \        ;QJ dA    R \        \        P                  P                  4       4       4       F  '       g   K   R# 	  R# ! R \        \        P                  P                  4       4       4       4      # )zHReturn whether any visible GPU can use the device-independent extension.Fc              3  ól   "  € T F*  p\        \        P                  ! R V 24      4      R8H  x € K,  	  R# 5i)zcuda:rà  N)r¬  rá  rÜ  )rc  rF  s   & r#   rd  Ú2_validate_machete_build_support.<locals>.<genexpr>ï  s0   é € ð á5ˆEô 	&¤e§l¢l°U¸5¸'°?Ó&CÓDÈÖJÛ5ùs   ‚24T)r   rá  râ  rã  rn  ÚrangeÚdevice_countr!   r%   r#   Ú_validate_machete_build_supportr  ë  s{   € çƒw”e—j‘j×-Ñ-×/Ò/Ùß‹3ñ äœ5Ÿ:™:×2Ñ2Ó4Ô5ó�3Œ3ð Š3ð ˆ3ñ äœ5Ÿ:™:×2Ñ2Ó4Ô5óó ð r%   c               ó    € V ^8„  d   QhRRRR/# )r   Úzero_pointsr]   r    zList[ScalarType]r!   )r"   s   "r#   r$   r$   õ  s   € ÷ :ñ :°Tð :Ð>Nñ :r%   c                ó’   € V '       d!   \         P                  \         P                  .# \         P                  \         P                  .# r—   )r   Úuint4Úuint8Úuint4b8Ú	uint8b128)r  s   &r#   Ú#query_machete_supported_quant_typesr  õ  s3   € ßÜ×"Ñ"¤L×$6Ñ$6Ð7Ð7Ü× Ñ ¤,×"8Ñ"8Ð9Ð9r%   c               ó    € V ^8„  d   QhRRRR/# )r   Ú_zero_pointsr]   r    zList[torch.dtype]r!   )r"   s   "r#   r$   r$   û  s   € ÷ +ñ +°Dð +Ð=Nñ +r%   c                óB   € \         P                  \         P                  .# r—   ©rá  Úfloat16Úbfloat16)r  s   &r#   Ú!query_machete_supported_act_typesr  û  s   € Ü�M‰Mœ5Ÿ>™>Ð*Ð*r%   c               ó    € V ^8„  d   QhRRRR/# )r   Úact_typeútorch.dtyper    z	List[int]r!   )r"   s   "r#   r$   r$   ÿ  s   € ÷ ñ °+ð À)ñ r%   c                ó\   € V \         P                  \         P                  39   d   . RO# R^€.# )é   éÿÿÿÿ)r$  é@   é€   r  )r   s   &r#   Ú#query_machete_supported_group_sizesr'  ÿ  s'   € Ø”E—M‘M¤5§>¡>Ð2Ô2ÚÐØ�ˆ9Ðr%   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úin_featuresÚintÚout_featuresr    ztuple[bool, Optional[str]]r!   )r"   s   "r#   r$   r$     s&   € ÷ ñ Øðàðð  ñr%   c                ó²   € V \         ^ ,          ,          ^ 8w  d   RR\         ^ ,           23# V\         ^,          ,          ^ 8w  d   RR\         ^,           23# R# )r   Fz)Input features size must be divisible by z*Output features size must be divisible by )TN)ÚMACHETE_PREPACKED_BLOCK_SHAPE)r)  r+  s   &&r#   Úcheck_machete_supports_shaper.    sr   € ð Ô2°1Õ5Õ5¸Ô:àØ7Ô8UÐVWÕ8XÐ7YÐZð
ð 	
ð Ô3°AÕ6Õ6¸!Ô;àØ8Ô9VÐWXÕ9YÐ8ZÐ[ð
ð 	
ð Ðr%   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
r   Úweightútorch.TensorÚa_typer!  Úb_typer   Úgroup_scales_typeúOptional[torch.dtype]r    r!   )r"   s   "r#   r$   r$     s:   € ÷ ñ Øðàðð ðð -ð	ð
 ñr%   c                ó\   € \        4       P                  R R4      ! V VVP                  V4      # )r.   Úmachete_prepack_B©rÙ  ÚopÚid)r0  r2  r3  r4  s   &&&&r#   r7  r7    s2   € ô Ó×Ñ˜yÐ*=Ô>ØØØ�	‰	Øó	ð r%   c               ó8   € V ^8„  d   QhRRRRRRRRRRR	RR
RRR/# )r   r2  r!  r3  r   r4  r5  Úgroup_zeros_typeÚchannel_scales_typeÚtoken_scales_typeÚout_typer    z	List[str]r!   )r"   s   "r#   r$   r$   $  sX   € ÷ ñ Øðàðð -ðð ,ð	ð
 /ðð -ðð $ðð ñr%   c           	     ób   € \        4       P                  R R4      ! V VP                  VVVVV4      # )r.   Úmachete_supported_schedulesr8  )r2  r3  r4  r<  r=  r>  r?  s   &&&&&&&r#   rA  rA  $  s;   € ô Ó×Ñ˜yÐ*GÔHØØ�	‰	ØØØØØóð r%   Úb_group_scalesÚb_group_zerosÚb_group_sizeÚb_channel_scalesÚa_token_scalesr?  Úschedulec               óD   € V ^8„  d   QhRRRRRRRRRRR	R
RRRRRRRRRR/# )r   Úar1  Úb_qr3  r   rB  zOptional[torch.Tensor]rC  rD  zOptional[int]rE  rF  r?  r5  rG  r�   r    r!   )r"   s   "r#   r$   r$   8  sx   € ÷ ñ àðð 
ðð ð	ð
 +ðð *ðð  ðð -ðð +ðð $ðð ðð ñr%   c        
        óh   € \        4       P                  R R4      ! V VVP                  VVVVVVV	4
      # )r.   Ú
machete_mmr8  )
rI  rJ  r3  rB  rC  rD  rE  rF  r?  rG  s
   $$$$$$$$$$r#   rL  rL  8  sC   € ô Ó×Ñ˜y¨,Ô7Ø	ØØ�	‰	ØØØØØØØóð r%   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r   Útensorr1  Úqtyper   Ú
packed_dimr*  r    r!   )r"   s   "r#   r$   r$   S  s0   € ÷ $ñ $Øð$àð$ð ð$ð ñ	$r%   c                ó’  aa
€ \         ;QJ d*    . V3R  l\        V P                  4       4       F  NK  	  5M#! V3R  l\        V P                  4       4       4      S3,           o
\         ;QJ d)    . V
3R l\        \        S
4      4       4       F  NK  	  5M"! V
3R l\        \        S
4      4       4       4      pV P	                  S
4      p^ VP
                  ,          p^VP
                  ,          ^,
          pVP                  R,          V,          ^ 8X  g   Q h\        VP                  4      pVR;;,          V,          uu&   \        P                  ! V\        P                  V P                  R7      p\        V4       F6  p	W„RV	RV13,          V,          VP
                  V	,          ,          ,          pK8  	  VP	                  V4      # )c              3  ó8   <"  € T F  qS8w  g   K  Vx € K  	  R # 5ir—   r!   ©rc  ÚirQ  s   & €r#   rd  Ú3pack_quantized_values_into_int32.<locals>.<genexpr>X  ó   øé € ÐBÑ.�q°z±/—’Ó.ùó   ƒ�
c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir—   ©rF  ©rc  rU  Úperms   & €r#   rd  rV  Y  ó   øé € Ð=Ñ,< q�T—Z‘Z —]�]Ó,<ùó   ƒ!©ÚdtyperÜ  .Nr$  )Útupler  ÚndimÚlenÚpermuteÚ	size_bitsÚshaperl  rá  ÚzerosÚint32rÜ  ©rO  rP  rQ  Úinv_permÚtempÚpack_factorÚmaskÚ	new_shaperŠ  rU  r\  s   &&f       @r#   Ú pack_quantized_values_into_int32ro  S  s7  ù€ ÷
 Œ5ÔBœE &§+¡+Ô.ÓB�5‰5ÔBœE &§+¡+Ô.ÓBÓBÀjÀ]ÕR€DßŒuÔ=¬E´#°d³)Ô,<Ó=�u‰uÔ=¬E´#°d³)Ô,<Ó=Ó=€HØ�>‰>˜$Ó€Dà˜Ÿ™Õ'€KØ�—‘Õ  AÕ%€Dà�:‰:�b�>˜KÕ'¨1Ô,Ð,Ð,Ü�T—Z‘ZÓ €IØˆb‡M�kÕ!ƒMä�[Š[˜¬%¯+©+¸f¿m¹mÔL€FÜ�;ÖˆØ˜˜a˜n ˜nÐ,Õ-°Õ4¸%¿/¹/ÈAÕ:MÕNÕOŠñ  ð �>‰>˜(Ó#Ð#r%   c               ó(   € V ^8„  d   QhRRRRRRRR/# rN  r!   )r"   s   "r#   r$   r$   j  s0   € ÷ $ñ $Øð$àð$ð ð$ð ñ	$r%   c                ó:  aa
€ \         ;QJ d*    . V3R  l\        V P                  4       4       F  NK  	  5M#! V3R  l\        V P                  4       4       4      S3,           o
\         ;QJ d)    . V
3R l\        \        S
4      4       4       F  NK  	  5M"! V
3R l\        \        S
4      4       4       4      pV P	                  S
4      p^ VP
                  ,          p^VP
                  ,          ^,
          p\        VP                  4      pVR;;,          V,          uu&   \        P                  ! V\        P                  V P                  R7      p\        V4       F+  p	WAP
                  V	,          ,	          V,          VRV	RV13&   K-  	  VP	                  V4      # )c              3  ó8   <"  € T F  qS8w  g   K  Vx € K  	  R # 5ir—   r!   rT  s   & €r#   rd  Ú5unpack_quantized_values_into_int32.<locals>.<genexpr>o  rW  rX  c              3  óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir—   rZ  r[  s   & €r#   rd  rs  p  r]  r^  r_  .Nr$  )ra  r  rb  rc  rd  re  rl  rf  rá  rg  rh  rÜ  ri  s   &&f       @r#   Ú"unpack_quantized_values_into_int32ru  j  s  ù€ ÷
 Œ5ÔBœE &§+¡+Ô.ÓB�5‰5ÔBœE &§+¡+Ô.ÓBÓBÀjÀ]ÕR€DßŒuÔ=¬E´#°d³)Ô,<Ó=�u‰uÔ=¬E´#°d³)Ô,<Ó=Ó=€HØ�>‰>˜$Ó€Dà˜Ÿ™Õ'€KØ�—‘Õ  AÕ%€Dä�T—Z‘ZÓ €IØˆb‡M�[Õ ƒMä�[Š[˜¬%¯+©+¸f¿m¹mÔL€FÜ�;ÖˆØ'+·±À!Õ0CÕ'DÈÕ&Lˆˆs�A�N�{�NÐ"Ó#ñ  ð �>‰>˜(Ó#Ð#r%   )é	   r   )z%-gencode=arch=compute_90a,code=sm_90az*-gencode=arch=compute_90a,code=compute_90a)z-U__CUDA_NO_HALF_OPERATORS__z-U__CUDA_NO_HALF_CONVERSIONS__z"-U__CUDA_NO_BFLOAT16_CONVERSIONS__)zcuda_runtime_api.hz
cusparse.hzcublas_v2.hz
cublasLt.hzcusolverDn.h)r%  r&  r—   r!   )r7  rL  rA  )NNNNN)r   )r#  r–  r  r.  rñ  rô  rø  rL  r7  rþ  r  rA  ro  r  r  r'  r  ru  ){Ú
__future__r   rk   Úimportlib.metadatarI  r¼   r;   rÎ   rƒ  rë   rá   r  Úurllib.requestrË   Úpathlibr   r   Útypingr   r   Úpcrerá  Úfilelockr   Úcppr	   r
   r   r   r   r   r   r}  r   Úloggerr   Úmarlin_scalar_typer   r   Úrocmr   rÉ   Ú_MACHETE_OPS_NAMEÚ_MACHETE_OPS_NAMESPACErG   r  rH   r˜   r.  r3  rH  r{   ÚcompileÚFlagÚ	MULTILINEr§   rå  rê  r­  r¹  r¸  rŸ  r-  r*   r0   r5   rA   rI   rL   rQ   rT   rZ   ra   rs   r}   rˆ   r”   rš   r®   r³   r¾   rÖ   rõ   r   r  r#  r(  r0  r4  r=  rS  rL  r\  rx  r‹  r–  r›  r¡  r¥  r®  r»  r¾  rï  rÙ  r¬  rñ  rô  rø  rþ  r  r  r  r  r  r  r'  r.  r7  rA  rL  ro  ru  Ú__all__r!   r%   r#   Ú<module>rˆ     s6  ðõ
 #ã Û Û Û 	Û Û Û 
Û Û Û ß 'ß !ã Û Ý ÷÷ ñ õ Ý  ß 8Ý ñ ƒn€à+Ð Ø,Ð àÐ ØNÐO_ÐN`Ð`gÐhÐ Ø\Ð Ø6Ð Ø0Ð Ø3Ð Ø$%Ð !Ø&)Ð #Ø"&§,¢,Ø<Ø
�)‰)×
Ñ
ô#Ð ð (.Ð $Ø-3Ð *ðÐ ð !Ð ð*Ð &ð
"Ð ð !*Ð õ/õAõ/õ	0õ;õEõ0õUõ=õ8õõQõõõ2õ
Dõõõ õ6>ð2ÈU÷ õ6)õX85÷v?÷
R÷Põõ[õ&÷L÷)÷X
õ0/5õdbõõ,0õ	+õõ(ñ  4ò  Ù	ð á$ð ñ Tð ñ ð	 ñ
 2ð ò Gð ñ ð ñ 'ð ñ 1ð ñ /ð ñ )ð ñ 8ð ñ Að ñ (ð ñ ð ñ  ð! ñ& &+ð' Ð ò.÷&õR/õ4õ
L÷)÷%õ<÷7õõ:õ+õõõ"÷ð(ð
 .2ðð -1ðð #'ðð 04ðð .2ðð '+ðð #÷÷6$÷.$ò,‚r%   