+
    "Ý³j   ã                  óð  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIt^RIHtH	t	H
t
HtHt  ! R R4      tR 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 R lt]! RRRH]R R! R"]]]]R#R$R%R&R'7      t]! R(R)RIR* R+R, R-]]]]R.R$R%R&R'7      tR/ tR0 R1 ltR2 R3 ltR4 R5 ltR6 R7 lt R8 R9 lt!RJR: R; llt"R< R= lt#R> R? lt$R@ RA lt%RB RC lt&RD RE lt'RJRF RG llt(R# )Ké    )ÚannotationsN)ÚPath)ÚTorchOpsJitExtensionÚ cuda_include_paths_with_fallbackÚdefault_jit_cflagsÚdefault_jit_cuda_cflagsÚdefault_torch_ops_build_rootc                  ó"   € ] tR t^tR tR tRtR# )ÚScratchSpacec                	óŒ   € Wn         \        P                  ! V P                   ^,          \        P                  VR7      V n        R# )é   )ÚdtypeÚdeviceN)Úscratch_bytesÚtorchÚemptyÚfloat16Úscratch)Úselfr   Údevs   &&&ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/exllamav2.pyÚ__init__ÚScratchSpace.__init__   s0   € Ø*ÔÜ—{’{Ø×Ñ !Õ#Ü—-‘-Øô
ˆŽó    c                	óf   € \        V^€4      ^,          pV P                  P                  ^ ^ V4      pV# )é€   )Únext_multipler   Únarrow)r   Ú
size_bytesÚ
size_halfsÚscratch_slices   &&  r   Ú	get_sliceÚScratchSpace.get_slice    s1   € Ü" :¨sÓ3°qÕ8ˆ
ØŸ™×+Ñ+¨A¨q°*Ó=ˆàÐr   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r"   Ú__static_attributes__© r   r   r   r      s   † ò
ör   r   c                ó<   € W,           ^,
          V,          V,          # )é   r)   )ÚxÚmultiples   &&r   r   r   '   s   € Ø�\˜AÕ (Õ*¨hÕ6Ð6r   c               ó   € V ^8„  d   QhRR/# )r   Úreturnr   r)   )Úformats   "r   Ú__annotate__r1   +   s   € ÷ Oñ O˜ñ Or   c                 óz   € \        \        4      P                  4       P                  ^,          R,          R,          # )r   Úgptqmodel_extÚ	exllamav2)r   Ú__file__ÚresolveÚparentsr)   r   r   Ú_exllamav2_rootr8   +   s*   € Ü”‹>×!Ñ!Ó#×+Ñ+¨AÕ.°Õ@À;ÕNÐNr   c               ó   € V ^8„  d   QhRR/# ©r   r/   z	list[str]r)   )r0   s   "r   r1   r1   /   s   € ÷ ñ  ñ r   c                 óœ   € \        4       p \        V R ,          4      \        V R,          R,          4      \        V R,          R,          4      .# )zext_gptq.cppÚcudazq_matrix.cuz	q_gemm.cu)r8   Ústr)Úroots    r   Ú_exllamav2_gptq_sourcesr?   /   sC   € ÜÓ€DäˆD�>Õ!Ó"ÜˆD�6�M˜MÕ)Ó*ÜˆD�6�M˜KÕ'Ó(ðð r   c               ó   € V ^8„  d   QhRR/# )r   r/   ztuple[str, ...]r)   )r0   s   "r   r1   r1   8   s   € ÷ ñ ¨/ñ r   c                 ó   € R# )ú
cusparse.h)rB   r)   r)   r   r   Ú _exllamav2_required_cuda_headersrC   8   s   € ØÐr   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   <   s   € ÷ ñ  )ñ r   c                 óP   € \        \        \        4       4      .\        4       R 7      # ))Úrequired_header_names)r   r=   r8   rC   r)   r   r   Ú_exllamav2_include_pathsrG   <   s#   € Ü+Ü	Œ_ÓÓ	Ð Ü>Ó@ôð r   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   C   s   € ÷ @ñ @ iñ @r   c                 ó   € \        R RR7      # )ÚO2T©Ú	opt_levelÚenable_bf16©r   r)   r   r   Ú_exllamav2_gptq_extra_cflagsrO   C   ó   € Ü¨¸$Ô?Ð?r   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   G   s   € ÷ 	ñ 	¨9ñ 	r   c            
     ó&   € \        R RRRRRRR7      # )rJ   T©rL   rM   Úinclude_lineinfoÚinclude_nvcc_threadsÚinclude_ptxas_optimizationsÚinclude_fatbin_compressionÚinclude_diag_suppress©r   r)   r   r   Ú!_exllamav2_gptq_extra_cuda_cflagsrZ   G   ó$   € Ü"ØØØØ!Ø$(Ø#'Ø"ôð r   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   S   s   € ÷ 0ñ 0 ñ 0r   c                 ó   € \        R R7      # )T)rM   rN   r)   r   r   Ú_exllamav2_extra_cflagsr^   S   s   € Ü¨$Ô/Ð/r   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   W   s   € ÷ ñ  iñ r   c            	     ó$   € \        R R R R R R R7      # )T)rM   rT   rU   rV   rW   rX   rY   r)   r   r   Ú_exllamav2_extra_cuda_cflagsra   W   s!   € Ü"ØØØ!Ø$(Ø#'Ø"ôð r   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   b   s   € ÷ 
ñ 
 )ñ 
r   c                 ó   € \         P                  R 8w  d   . # R.p \         P                  \         P                  8w  dA   V P	                  R\
        P                  P                  \         P                  R4       24       V # )Úwin32z
cublas.libz	/LIBPATH:Úlibs)ÚsysÚplatformÚbase_prefixÚprefixÚappendÚosÚpathÚjoin)Úflagss    r   Ú_exllamav2_extra_ldflagsro   b   sX   € ô
 ‡|�|�wÔØˆ	ØˆN€EÜ
‡�œ#Ÿ*™*Ô$Ø�‰�y¤§¡§¡¬c¯o©o¸vÓ!FÐ GÐHÔIØ€Lr   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   o   s   € ÷ @ñ @ Yñ @r   c                 ó   € \        R RR7      # )NTrK   rN   r)   r   r   Ú_exllamav2_awq_extra_cflagsrr   o   rP   r   c               ó   € V ^8„  d   QhRR/# r:   r)   )r0   s   "r   r1   r1   s   s   € ÷ 	ñ 	¨)ñ 	r   c            
     ó&   € \        R RRRRRRR7      # )NTrS   rY   r)   r   r   Ú _exllamav2_awq_extra_cuda_cflagsru   s   r[   r   Úgptqmodel_exllamav2_opsÚgptqmodel_exllamav2ÚGPTQMODEL_EXLLAMAV2_BUILD_ROOTc                 ó   € \        R 4      # ©r4   ©r	   r)   r   r   Ú<lambda>r|   …   s
   € Ô;¸KÔHr   zExLlamaV2 GPTQÚ!GPTQMODEL_EXLLAMAV2_FORCE_REBUILDÚGPTQMODEL_EXT_VERBOSETF)Ú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_dependentÚgptqmodel_exllamav2_awq_opsÚgptqmodel_exllamav2_awqc                 ó¸   € \        \        4       R ,          4      \        \        4       R,          R,          4      \        \        4       R,          R,          4      .# )zext_awq.cppr<   zq_matrix_awq.cuzq_gemm_awq.cu)r=   r8   r)   r   r   r|   r|   —   sB   € ÜŒOÓ Õ-Ó.ÜŒOÓ Õ&Ð):Õ:Ó;ÜŒOÓ Õ&¨Õ8Ó9ñr   Ú"GPTQMODEL_EXLLAMAV2_AWQ_BUILD_ROOTc                 ó   € \        R 4      # ©Úexllamav2_awqr{   r)   r   r   r|   r|   �   s
   € Ô;¸OÔLr   zExLlamaV2 AWQÚ%GPTQMODEL_EXLLAMAV2_AWQ_FORCE_REBUILDc                 ó   € ^ 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/   ÚNoner)   )r0   s   "r   r1   r1   °   s   € ÷ 6ñ 6¨dñ 6r   c                 ó.   € \         P                  4        R # ©N)Ú#_EXLLAMAV2_GPTQ_TORCH_OPS_EXTENSIONÚclear_cacher)   r   r   Ú$clear_exllamav2_gptq_extension_cacher£   °   s   € Ü'×3Ñ3Ö5r   c               ó   € V ^8„  d   QhRR/# ©r   r/   Úboolr)   )r0   s   "r   r1   r1   ´   s   € ÷ 6ñ 6¨$ñ 6r   c                 ó4   € \        4       P                  R 4      # rz   ©r›   Úis_availabler)   r   r   Ú exllamav2_gptq_runtime_availablerª   ´   s   € ÜÓ×(Ñ(¨Ó5Ð5r   c               ó   € V ^8„  d   QhRR/# ©r   r/   r=   r)   )r0   s   "r   r1   r1   ¸   s   € ÷ ñ  cñ r   c                 ó~   € \        4       p V P                  R 4      '       d   R# V P                  R 4      ;'       g    R# )r4   Ú z(ExLlamaV2 GPTQ CUDA runtime unavailable.©r›   r©   Úerrorr™   s    r   Úexllamav2_gptq_runtime_errorr±   ¸   s>   € Ü"Ó$€MØ×!Ñ! +×.Ò.Ùà×Ñ˜KÓ(÷ 	6ð 	6Ø5ðr   c               ó   € V ^8„  d   QhRR/# r¥   r)   )r0   s   "r   r1   r1   Â   s   € ÷ @ñ @¨$ñ @r   c                 óD   € \        4       P                  R R7      R ,          # )r4   ©r   ©r›   Úloadr)   r   r   Ú prewarm_exllamav2_gptq_extensionr·   Â   s   € ÜÓ× Ñ  kÐ Ó2°;Õ?Ð?r   c               ó   € V ^8„  d   QhRR/# ©r   r/   Úintr)   )r0   s   "r   r1   r1   Æ   ó   € ÷ ñ ð 	ñr   c
                óf   € \        \        4       P                  R R4      ! V VVVVVVVVV	4
      4      # )r4   Úmake_q_matrix©rº   r›   Úop©
Úq_weightÚq_permÚ	q_invpermÚq_scaleÚq_scale_maxÚq_groupsÚgptq_qzerosÚgptq_scalesÚ
gptq_g_idxÚtemp_dqs
   &&&&&&&&&&r   Úexllamav2_make_q_matrixrË   Æ   sG   € ô ÜÓ×Ñ˜K¨Ô9ØØØØØØØØØØó	
óð r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r   Úq_handlerº   Ú
force_cudar¦   r/   rž   r)   )r0   s   "r   r1   r1   â   s'   € ÷ `ñ `¨Cð `Àð `ÐQUñ `r   c                óp   € \        4       P                  R R4      ! V \        V4      V\        V4      4       R# )r4   Úgemm_half_q_halfN©r›   r¿   rº   r¦   ©ÚarÎ   ÚcrÏ   s   &&&&r   Úexllamav2_gemm_half_q_halfrÖ   â   s+   € ÜÓ×Ñ˜Ð%7Ô8¸¼CÀ»MÈ1ÌdÐS]ÓN^Ö_r   c               ó   € V ^8„  d   QhRR/# r�   r)   )r0   s   "r   r1   r1   æ   s   € ÷ 5ñ 5¨Tñ 5r   c                 ó.   € \         P                  4        R # r    )Ú"_EXLLAMAV2_AWQ_TORCH_OPS_EXTENSIONr¢   r)   r   r   Ú#clear_exllamav2_awq_extension_cacherÚ   æ   s   € Ü&×2Ñ2Ö4r   c               ó   € V ^8„  d   QhRR/# r¥   r)   )r0   s   "r   r1   r1   ê   s   € ÷ :ñ :¨ñ :r   c                 ó4   € \        4       P                  R 4      # r“   r¨   r)   r   r   Úexllamav2_awq_runtime_availablerÝ   ê   s   € ÜÓ×(Ñ(¨Ó9Ð9r   c               ó   € V ^8„  d   QhRR/# r¬   r)   )r0   s   "r   r1   r1   î   s   € ÷ ñ  Sñ r   c                 ó~   € \        4       p V P                  R 4      '       d   R# V P                  R 4      ;'       g    R# )r”   r®   z'ExLlamaV2 AWQ CUDA runtime unavailable.r¯   r™   s    r   Úexllamav2_awq_runtime_errorrà   î   s>   € Ü"Ó$€MØ×!Ñ! /×2Ò2Ùà×Ñ˜OÓ,÷ 	5ð 	5Ø4ðr   c               ó   € V ^8„  d   QhRR/# r¥   r)   )r0   s   "r   r1   r1   ø   s   € ÷ Hñ H¨ñ Hr   c                 óD   € \        4       P                  R R7      R ,          # )r”   r´   rµ   r)   r   r   Úprewarm_exllamav2_awq_extensionrã   ø   s   € ÜÓ× Ñ  oÐ Ó6°ÕGÐGr   c               ó   € V ^8„  d   QhRR/# r¹   r)   )r0   s   "r   r1   r1   ü   r»   r   c
                óf   € \        \        4       P                  R R4      ! V VVVVVVVVV	4
      4      # )r”   Úmake_q_matrix_awqr¾   rÀ   s
   &&&&&&&&&&r   Úexllamav2_awq_make_q_matrixrç   ü   sH   € ô ÜÓ×Ñ˜OÐ-@ÔAØØØØØØØØØØó	
óð r   c               ó$   € V ^8„  d   QhRRRRRR/# rÍ   r)   )r0   s   "r   r1   r1     s'   € ÷ hñ h°ð hÀDð hÐUYñ hr   c                óp   € \        4       P                  R R4      ! V \        V4      V\        V4      4       R# )r”   Úgemm_half_q_half_awqNrÒ   rÓ   s   &&&&r   Úexllamav2_awq_gemm_half_q_halfrë     s-   € ÜÓ×Ñ˜Ð)?Ô@ÀÄCÈÃMÐSTÔVZÐ[eÓVfÖgr   )r½   rÑ   )ræ   rê   )F))Ú
__future__r   rk   rf   Úpathlibr   r   Úcppr   r   r   r   r	   r   r   r8   r?   rC   rG   rO   rZ   r^   ra   ro   rr   ru   r¡   rÙ   r›   r£   rª   r±   r·   rË   rÖ   rÚ   rÝ   rà   rã   rç   rë   r)   r   r   Ú<module>rï      s,  ðõ #ã 	Û 
Ý ã ÷õ ÷ñ ò 7õOõõõõ@õ	õ0õõ
õ@õ	ñ ';Ø	"Ø#Ø6Ø#Ø3ÙHØ!Ø-Ø7Ø0Ø*Ø9Ø'ØØô'Ð #ñ( &:Ø	&Ø'Ø>ñð
 8ÙLØ Ø,Ø6Ø0Ø*Ø=Ø'ØØô'&Ð "ò.õ6õ6õõ@õ÷8`õ5õ:õõHõ÷8hñ hr   