+
    "Ý³jË$  ã                  ó°  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHt ^ RIt^RI	H
t
HtHtHtHtHt ^RIHt Rt]! ]P(                  P+                  RR	4      4      P-                  4       P/                  4       R59  t]! ]P(                  P+                  R
R	4      4      P-                  4       P/                  4       R69   t]P4                  R8H  tR R ltR R ltR R ltR R ltR R lt R R lt!R R lt"R R lt#R R lt$R R lt%]
! ]R R7]R!R" R#]"]#]!]$R$RR%R&R'7      t&R( t'R) R* lt(R+ R, lt)R- R. lt*R/ R0 lt+ ! R1 R24      t, ! R3 R44      t-]-! 4       t.. R8Ot/R# )9é    )ÚannotationsN)ÚPath)ÚOptional)ÚTorchOpsJitExtensionÚ_jit_cxx_standardÚ cuda_include_paths_with_fallbackÚdefault_jit_cflagsÚdefault_jit_cuda_cflagsÚdefault_torch_ops_build_root)Úmaybe_set_arch_list_envÚgptqmodel_exllamav3_opsÚGPTQMODEL_EXT_VERBOSEÚ ÚGPTQMODEL_EXT_DEBUGÚntc               ó   € V ^8„  d   QhRR/# )é   Úreturnz
str | None© )Úformats   "ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/exllamav3/ext.pyÚ__annotate__r   #   s   € ÷ ñ �Jñ ó    c            	     óŠ  € \         P                  R ,          p \         P                  R,          pR
 UUUu. uF;  pW3 F1  pR F(  pVR,           V,           R,           V,           R,           NK*  	  K3  	  K=  	  ppppV F¼  p\         P                  P                  V4      '       g   K*  \	        \         P
                  ! V4      RR7      pV Fk  pWh,           R,           p	\         P                  P                  V	4      '       g   K9  \         P                  P                  V	R,           4      '       g   Kg  V	u u # 	  K¾  	  R	# u upppi )ÚProgramW6432zProgramFiles(x86)z\Microsoft Visual Studio\Ú\z\VC\Tools\MSVC\T)Úreversez\bin\Hostx64\x64z\cl.exeN)Ú2022Ú2019Ú2017)Ú
BuildToolsÚ	CommunityÚProfessionalÚ
EnterpriseÚPreview)ÚosÚenvironÚpathÚexistsÚsortedÚlistdir)
Úprogram_files_x64Úprogram_files_x86ÚbÚaÚcÚ	msvc_dirsÚmsvc_dirÚversionsÚversionÚcompiler_dirs
             r   Ú
_find_msvcr6   #   s  € ÜŸ
™
 >Õ2ÐÜŸ
™
Ð#6Õ7Ðñ *õá)ˆAØ#Ó7ˆAÛUˆAð 	
Ð)Õ)¨AÕ-°Õ4°qÕ8Ð;P×PÐPñ Vñ 	Qá7ñ 	QÙ)ð ò ó ˆÜ�w‰w�~‰~˜h×'Ò'ÙÜœ"Ÿ*š* XÓ.¸Ô=ˆÛˆGØ#Õ-Ð0EÕEˆLÜ�w‰w�~‰~˜l×+Ô+´·±·±¸|ÈjÕ?X×0YÔ0YØ#Ô#ó  ñ	 ñ ùôs   µAD>c               ó   € V ^8„  d   QhRR/# ©r   r   ÚNoner   )r   s   "r   r   r   8   s   € ÷ eñ e $ñ er   c                 óf  € \         '       g   R # ^ R Ip  V P                  . RO4       R #   T P                   dw    \	        4       pT'       dF   \
        '       d   \        RT4       \        P                  R;;,          RT,           ,          uu&    R # \        R\        P                  R7        R # i ; i)Nz -- Injected compiler path:r(   Ú;z> !! Unable to find cl.exe; EXL3 compilation will probably fail)Úfile)Úwherez/QÚcl)ÚwindowsÚ
subprocessÚcheck_outputÚCalledProcessErrorr6   ÚverboseÚprintr&   r'   ÚsysÚstderr)r@   Úcl_paths     r   Ú_ensure_windows_compilerrH   8   s€   € ß‹7Ùãð	eØ×ÑÒ 5Ö6øØ×(Ñ(ô eÜ“,ˆßß‹wÜÐ3°WÔ=Ü�J‰J�v× #¨¥-Õ/ÖäÐRÔY\×YcÑYc×dÐdðeús   ”) ©.B0Á6B0ÂB0Â/B0c               ó   € V ^8„  d   QhRR/# )r   r   r   r   )r   s   "r   r   r   J   s   € ÷ Oñ O�dñ Or   c                 óz   € \        \        4      P                  4       P                  ^,          R,          R,          # )r   Úgptqmodel_extÚ	exllamav3)r   Ú__file__ÚresolveÚparentsr   r   r   Ú_source_rootrP   J   s*   € Ü”‹>×!Ñ!Ó#×+Ñ+¨AÕ.°Õ@À;ÕNÐNr   c               ó   € V ^8„  d   QhRR/# ©r   r   z	list[str]r   )r   s   "r   r   r   N   s   € ÷ Jñ J�yñ Jr   c                 ó†   € \        4       p . ROpV Uu. uF"  p\        W,          P                  4       4      NK$  	  up# u upi )úbindings.cpp)rT   zhadamard.cppzhgemm.cuzlibtorch/linear.cppz$quant/comp_units/exl3_comp_unit_1.cuz$quant/comp_units/exl3_comp_unit_2.cuz$quant/comp_units/exl3_comp_unit_3.cuz$quant/comp_units/exl3_comp_unit_4.cuz$quant/comp_units/exl3_comp_unit_5.cuz$quant/comp_units/exl3_comp_unit_6.cuz$quant/comp_units/exl3_comp_unit_7.cuz$quant/comp_units/exl3_comp_unit_8.cuzquant/exl3_devctx.cuzquant/exl3_gemm.cuzquant/exl3_kernel_map.cuzquant/hadamard.cuzquant/pack.cuzquant/quantize.cuzquant/reconstruct.cuzquant/util.cu)rP   ÚstrrN   )Úsources_dirÚsource_filesr(   s      r   Ú_source_filesrX   N   s<   € Ü“.€Kò€Lñ, =IÓI¹L°DŒC�Õ#×,Ñ,Ó.Ö/¹LÑIÐIùÒIs   “(>c               ó   € V ^8„  d   QhRR/# )r   r   ztuple[str, ...]r   )r   s   "r   r   r   i   s   € ÷ ñ ¨/ñ r   c                 ó   € R# )ú
cusparse.h)r[   r   r   r   r   Ú _exllamav3_required_cuda_headersr\   i   s   € ØÐr   c               ó   € V ^8„  d   QhRR/# rR   r   )r   s   "r   r   r   m   s   € ÷ ñ  )ñ r   c                 óP   € \        \        \        4       4      .\        4       R 7      # ))Úrequired_header_names)r   rU   rP   r\   r   r   r   Ú_exllamav3_include_pathsr`   m   s"   € Ü+Ü	Œ\‹^Ó	ÐÜ>Ó@ôð r   c               ó   € V ^8„  d   QhRR/# rR   r   )r   s   "r   r   r   t   s   € ÷ ñ �yñ r   c                 óÒ   € \         '       d   R R\        4        2.p M\        RR7      p \        '       d3   \         '       d   V P	                  R4       V # V P                  RR.4       V # )z/O2z/std:ÚO2)Ú	opt_levelz/Ziz-ftime-reportz-DTORCH_USE_CUDA_DSA)r?   r   r	   Ú	ext_debugÚappendÚextend©Úflagss    r   Ú_extra_cflagsrj   t   s]   € ßƒwØ˜%Ô 1Ó 3Ð4Ð5Ð6‰ä"¨TÔ2ˆçƒyß‹7Ø�L‰L˜Ôð €Lð �L‰L˜/Ð+AÐBÔCØ€Lr   c               ó   € V ^8„  d   QhRR/# rR   r   )r   s   "r   r   r   ‚   s   € ÷ ñ ˜Iñ r   c                 ó–   € \        R \        '       * RR7      p \        P                  P                  '       d   V P                  R4       V # )rc   T)rd   Úinclude_abiÚinclude_lineinfoz-DHIPBLAS_USE_HIP_HALF)r
   r?   Útorchr4   Úhiprf   rh   s    r   Ú_extra_cuda_cflagsrq   ‚   s;   € Ü#ØÜ”KØô€Eô
 ‡}�}××ÐØ�‰Ð-Ô.Ø€Lr   c               ó   € V ^8„  d   QhRR/# rR   r   )r   s   "r   r   r   �   s   € ÷ ñ ˜	ñ r   c                 óî   € \         '       g   . # R .p \        P                  \        P                  8w  dA   V P	                  R\
        P                  P                  \        P                  R4       24       V # )z
cublas.libz	/LIBPATH:Úlibs)r?   rE   Úbase_prefixÚprefixrf   r&   r(   Újoinrh   s    r   Ú_extra_ldflagsrx   �   sO   € ß‹7Øˆ	ØˆN€EÜ
‡�œ#Ÿ*™*Ô$Ø�‰�y¤§¡§¡¬c¯o©o¸vÓ!FÐ GÐHÔIØ€Lr   c               ó   € V ^8„  d   QhRR/# r8   r   )r   s   "r   r   r   –   s   € ÷ ñ ˜Dñ r   c                 ó.   € \        4        \        4        R # )N)rH   r   r   r   r   Ú_prepare_build_envr{   –   s   € ÜÔÜÖr   Úgptqmodel_exllamav3ÚGPTQMODEL_EXLLAMAV3_BUILD_ROOTc                 ó   € \        R 4      # ©rL   )r   r   r   r   Ú<lambda>r€   ®   s
   € Ô;¸KÔHr   Ú	ExLlamaV3Ú!GPTQMODEL_EXLLAMAV3_FORCE_REBUILDTF)ÚnameÚ	namespaceÚrequired_opsÚsourcesÚbuild_root_envÚdefault_build_rootÚdisplay_nameÚextra_cflagsÚextra_cuda_cflagsÚextra_include_pathsÚextra_ldflagsÚforce_rebuild_envÚverbose_envÚrequires_cudaÚpython_abi_dependentc                 ó   € ^ RI Hp  V # )r   )Ú	extension)Ú	gptqmodelr“   ©Úextension_apis    r   Ú_extension_apir—   »   s   € Ý4àÐr   c               ó   € V ^8„  d   QhRR/# ©r   r   Úboolr   )r   s   "r   r   r   Á   s   € ÷ 6ñ 6 Tñ 6r   c                 óH   € \        4        \        4       P                  R 4      # r   )r{   r—   Úis_availabler   r   r   Úexllamav3_runtime_availabler�   Á   s   € ÜÔÜÓ×(Ñ(¨Ó5Ð5r   c               ó   € V ^8„  d   QhRR/# )r   r   rU   r   )r   s   "r   r   r   Æ   s   € ÷ ñ  ñ r   c                 ó’   € \        4       p \        4        V P                  R 4      '       d   R# V P                  R 4      ;'       g    R# )rL   r   z#ExLlamaV3 CUDA runtime unavailable.)r—   r{   rœ   Úerrorr•   s    r   Úexllamav3_runtime_errorr¡   Æ   sD   € Ü"Ó$€MÜÔØ×!Ñ! +×.Ò.Ùà×Ñ˜KÓ(÷ 	1ð 	1Ø0ðr   c               ó   € V ^8„  d   QhRR/# r™   r   )r   s   "r   r   r   Ñ   s   € ÷ @ñ @ Tñ @r   c                 óX   € \        4        \        4       P                  R R7      R ,          # )rL   ©rƒ   )r{   r—   Úloadr   r   r   Úprewarm_exllamav3_extensionr¦   Ñ   s$   € ÜÔÜÓ× Ñ  kÐ Ó2°;Õ?Ð?r   c               ó   € V ^8„  d   QhRR/# )r   rƒ   rU   r   )r   s   "r   r   r   Ö   s   € ÷ 2ñ 2�cñ 2r   c                óJ   € \        4        \        4       P                  R V 4      # r   )r{   r—   Úopr¤   s   &r   Ú_runtime_oprª   Ö   s   € ÜÔÜÓ×Ñ˜{¨DÓ1Ð1r   c                  ó2   € ] tR t^ÛtRtR R ltR R ltRtR# )Ú_BCLinearEXL3zEPreserve the old binding surface while dispatching through torch.ops.c               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RR
RR/# )r   Útrellisútorch.TensorÚsuhÚsvhÚKÚintÚbiasúOptional[torch.Tensor]Úmcgrš   Úmul1Úxhr   )r   s   "r   r   Ú_BCLinearEXL3.__annotate__Þ   sZ   € ÷ ñ àðð ðð ð	ð
 ðð %ðð ðð ðð ñr   c	                	óö   € \        4       '       g   \        R \        4       ,           4      hWn        W n        W0n        \        V4      V n        WPn        \        V4      V n
        \        V4      V n        W€n        R# )z?ExLlamaV3 torch.ops kernels are not properly installed. Error: N)r�   ÚModuleNotFoundErrorr¡   r®   r°   r±   r³   r²   r´   rš   r¶   r·   r¸   )	Úselfr®   r°   r±   r²   r´   r¶   r·   r¸   s	   &&&&&&&&&r   Ú__init__Ú_BCLinearEXL3.__init__Þ   sm   € ô +×,Ò,Ü%Ð&gô  kBó  kDõ  'Dó  Eð  EØŒØŒØŒÜ�Q“ˆŒØŒ	Ü˜“9ˆŒÜ˜“JˆŒ	ØŽr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úxr¯   Úyr   r9   r   )r   s   "r   r   r¹   ô   s!   € ÷ 
ñ 
�\ð 
 lð 
°tñ 
r   c                	óÚ   € \        R 4      ! V P                  V P                  V P                  V P                  V P
                  V P                  V P                  V P                  VV4
       R# )Úbc_linear_exl3_runN)	rª   r®   r°   r±   r²   r´   r¶   r·   r¸   )r¼   rÀ   rÁ   s   &&&r   ÚrunÚ_BCLinearEXL3.runô   sN   € ÜÐ(Ô)Ø�L‰LØ�H‰HØ�H‰HØ�F‰FØ�I‰IØ�H‰HØ�I‰IØ�G‰GØØö	
r   )r²   r´   r¶   r·   r°   r±   r®   r¸   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r½   rÄ   Ú__static_attributes__r   r   r   r¬   r¬   Û   s   † ÙOõ÷,
ñ 
r   r¬   c                  óŠ   € ] tR tRtRt]tR R ltR R ltR R lt	R	 R
 lt
R R ltR R ltR R ltR R ltR R ltRtR# )Ú_ExllamaV3TorchOpsFacadei  z=Facade that mirrors the old pybind module API over torch.ops.c               ó    € V ^8„  d   QhRRRR/# ©r   Úhr¯   r   r9   r   )r   s   "r   r   Ú%_ExllamaV3TorchOpsFacade.__annotate__  s   € ÷ $ñ $˜<ð $¨Dñ $r   c                	ó(   € \        R 4      ! V4       R# )Ú	had_paleyN©rª   ©r¼   rÐ   s   &&r   rÓ   Ú"_ExllamaV3TorchOpsFacade.had_paley  s   € Ü�KÔ  Ö#r   c               ó    € V ^8„  d   QhRRRR/# rÏ   r   )r   s   "r   r   rÑ     s   € ÷ %ñ %˜Lð %¨Tñ %r   c                	ó(   € \        R 4      ! V4       R# )Ú
had_paley2NrÔ   rÕ   s   &&r   rÙ   Ú#_ExllamaV3TorchOpsFacade.had_paley2  s   € Ü�LÔ! !Ö$r   c               ó<   € V ^8„  d   QhRRRRRRRRRRRRR	R
RR
RR/	# )r   Úinput_tilesr¯   Úoutput_tilesÚoutput_indicesÚ
temp_costsÚ
temp_edgesr²   r³   r¶   rš   r·   r   r9   r   )r   s   "r   r   rÑ     sd   € ÷ 
ñ 
à!ð
ð #ð
ð %ð	
ð
 !ð
ð !ð
ð ð
ð ð
ð ð
ð 
ñ
r   c	                	ól   € \        R 4      ! VVVVV\        V4      \        V4      \        V4      4       R# )Úquantize_tilesN©rª   r³   rš   )	r¼   rÜ   rÝ   rÞ   rß   rà   r²   r¶   r·   s	   &&&&&&&&&r   râ   Ú'_ExllamaV3TorchOpsFacade.quantize_tiles  s6   € ô 	Ð$Ô%ØØØØØÜ�‹FÜ�‹IÜ�‹Jö		
r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   Úpackedr¯   Úunpackedr²   r³   r   r9   r   )r   s   "r   r   rÑ   $  s)   € ÷ >ñ > <ð >¸<ð >ÈCð >ÐTXñ >r   c                	ó<   € \        R 4      ! W\        V4      4       R# )Úpack_trellisN©rª   r³   )r¼   ræ   rç   r²   s   &&&&r   ré   Ú%_ExllamaV3TorchOpsFacade.pack_trellis$  s   € Ü�NÔ# F´c¸!³fÖ=r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   rç   r¯   ræ   r²   r³   r   r9   r   )r   s   "r   r   rÑ   '  s/   € ÷ @ñ @ |ð @¸\ð @Ècð @ÐVZñ @r   c                	ó<   € \        R 4      ! W\        V4      4       R# )Úunpack_trellisNrê   )r¼   rç   ræ   r²   s   &&&&r   rî   Ú'_ExllamaV3TorchOpsFacade.unpack_trellis'  s   € ÜÐ$Ô% h¼¸A»Ö?r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ræ   r¯   rç   r   r9   r   )r   s   "r   r   rÑ   *  s!   € ÷ 4ñ 4 ð 4¸ð 4È$ñ 4r   c                	ó(   € \        R 4      ! W4       R# )Ú
pack_signsNrÔ   )r¼   ræ   rç   s   &&&r   rò   Ú#_ExllamaV3TorchOpsFacade.pack_signs*  s   € Ü�LÔ! &Ö3r   c               ó0   € 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   r9   r   )r   s   "r   r   rÑ   -  sA   € ÷ Tñ T Lð T¸,ð TÈ3ð TÐUYð TÐaeð TÐjnñ Tr   c           	     	ód   € \        R 4      ! W\        V4      \        V4      \        V4      4       R# )ÚreconstructNrã   )r¼   rç   ræ   r²   r¶   r·   s   &&&&&&r   rö   Ú$_ExllamaV3TorchOpsFacade.reconstruct-  s!   € Ü�MÔ" 8´S¸³V¼TÀ#»YÌÈTË
ÖSr   c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R
/# )r   Úinputr¯   ÚoutputÚ	pre_scalerµ   Ú
post_scaleÚscaleÚfloatr   r9   r   )r   s   "r   r   rÑ   0  sN   € ÷ Uñ UàðUð ðUð *ð	Uð
 +ðUð ðUð 
ñUr   c           	     	ó>   € \        R 4      ! WW4\        V4      4       R# )Ú	had_r_128N)rª   rþ   )r¼   rù   rú   rû   rü   rý   s   &&&&&&r   r   Ú"_ExllamaV3TorchOpsFacade.had_r_1280  s   € ô 	�KÔ  °	ÄuÈUÃ|ÖTr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r   r/   r¯   r.   r0   r   r9   r   )r   s   "r   r   rÑ   :  s(   € ÷ &ñ &�|ð &¨ð &¸ð &È$ñ &r   c                	ó*   € \        R 4      ! WV4       R# )ÚhgemmNrÔ   )r¼   r/   r.   r0   s   &&&&r   r  Ú_ExllamaV3TorchOpsFacade.hgemm:  s   € Ü�GÔ˜Q 1Ö%r   r   N)rÆ   rÇ   rÈ   rÉ   rÊ   r¬   ÚBC_LinearEXL3rÓ   rÙ   râ   ré   rî   rò   rö   r   r  rË   r   r   r   rÍ   rÍ     s?   † ÙGà!€Mõ$õ%õ
õ,>õ@õ4õTõU÷&ñ &r   rÍ   >   r   Ú0ÚnoÚoffÚfalse>   Ú1ÚonÚyesÚtrue)
rÓ   rÙ   râ   ré   rî   rò   rö   r   r  rÃ   )Úexllamav3_extr�   r¡   r¦   )0Ú
__future__r   r&   rE   Úpathlibr   Útypingr   ro   Ú	utils.cppr   r   r   r	   r
   r   Úutil.arch_listr   Úextension_namerU   r'   ÚgetÚstripÚlowerrC   re   rƒ   r?   r6   rH   rP   rX   r\   r`   rj   rq   rx   r{   Ú_EXLLAMAV3_TORCH_OPS_EXTENSIONr—   r�   r¡   r¦   rª   r¬   rÍ   r  Ú__all__r   r   r   Ú<module>r     sT  ðõ #ã 	Û 
Ý Ý ã ÷÷ õ 4ð +€Ù
ˆb�j‰j�n‰nÐ4°bÓ9Ó
:×
@Ñ
@Ó
B×
HÑ
HÓ
JÐRqÑ
q€Ù�—
‘
—‘Ð4°bÓ9Ó:×@Ñ@ÓB×HÑHÓJÐNhÑh€	Ø
�'‰'�T‰/€õõ*eõ$OõJõ6õõõõõñ "6Ø	Ø#ðð Ø3ÙHØØØ(Ø0Ø Ø9Ø'ØØô5"Ð ò<õ6õ
õ@õ
2÷
%
ñ %
÷P8&ñ 8&ñv )Ó*€ò‚r   