+
    "Ý³jš>  ã                  ó  a € 0 t $ R t^ RIHt ^ RIt^ RIHt ^ RIHtH	t	H
t
Ht ^ RIt^RIHtHtHtHtHt ^RIHt ^RIHtHt ^RIHt ^R	IHt ]! 4       tR
tRtR^t]P@                  ! R4      t!]P@                  ! R4      t"R_t#Rt$R`t%Rat&Rbt'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.]! Rc/ R]bR]bRRdbR ]*bR!R"bR#R$ bR%R&bR'],bR(]-bR)]+bR*].bR+R,bR-R.bR/R0bR1]bR2R3b t/R4 t0R5 R6 lt1]1! 4       t2R7]3R8&   ReR9R0/R: R; lllt4ReR< R= llt5R> R? lt6R@ RA lt7RB RC lt8ReRD RE llt9ReRF RG llt:RH RI lt;RJ RK lt<RfRL RM llt=RgRN RO llt>RhRP RQ llt?RR RS lt@RgRT RU lltARV RW ltBRX RY ltCRZ R[ ltDR\ R] ltE. RiOtFR# )jzÜSwordfish Blackwell (sm100/sm110) weight-quantized GEMM extension loader.

Swordfish is vendored into gptqmodel_ext/swordfish under the GNU AGPL v3.0+
(see that directory's LICENSE and the top-level licenses/SWORDFISH).
)ÚannotationsN)ÚPath)ÚDictÚListÚOptionalÚTuple)ÚTorchOpsJitExtensionÚ cuda_include_paths_with_fallbackÚdefault_jit_cflagsÚdefault_jit_cuda_cflagsÚdefault_torch_ops_build_root)Úsetup_logger)Ú
ScalarTypeÚscalar_types)Ú_ensure_cutlass_source)ÚIS_ROCMÚgptqmodel_swordfish_opsÚgptqmodel_swordfishzcode=sm_(\d+)([a-z]?)zcode=compute_(\d+)([a-z]?)Ú16c               ó   € V ^8„  d   QhRR/# ©é   Úreturnr   © )Úformats   "ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/gptqmodel/utils/swordfish.pyÚ__annotate__r   F   s   € ÷ /ñ / ñ /ó    c                 ó^   € \        \        4      P                  4       P                  ^,          # )r   )r   Ú__file__ÚresolveÚparentsr   r   r   Ú_swordfish_project_rootr"   F   s    € Ü”‹>×!Ñ!Ó#×+Ñ+¨AÕ.Ð.r   c               ó   € V ^8„  d   QhRR/# r   r   )r   s   "r   r   r   J   s   € ÷ Eñ E ñ Er   c                 ó2   € \        4       R ,          R,          # )Úgptqmodel_extÚ	swordfish)r"   r   r   r   Ú_swordfish_source_rootr'   J   s   € Ü"Ó$ Õ6¸ÕDÐDr   c               ó   € V ^8„  d   QhRR/# ©r   r   z	List[str]r   )r   s   "r   r   r   N   s   € ÷ ñ ˜Iñ r   c                 óP  € \        4       p \        V R ,          4      \        V R,          R,          R,          R,          4      \        V R,          R,          R,          R,          4      \        V R,          R,          R,          R,          4      \        V R,          R,          R,          R,          4      \        V R,          R,          R,          R	,          4      \        V R,          R,          R,          R
,          4      \        V R,          R,          R,          R,          4      .# )zswordfish_bindings.cppÚlibtorch_stableÚquantizationÚmarlinzgptq_marlin_repack.cur&   zswordfish_prepack.cuzswordfish_mm.cuzswordfish_dense_tier.cuzswordfish_prefill.cuzswordfish_prefill_f16.cuzswordfish_moe.cu)r'   Ústr)Úroots    r   Ú_swordfish_sourcesr0   N   sô   € Ü!Ó#€DäˆDÐ+Õ+Ó,ÜˆDÐ$Õ$ ~Õ5¸Õ@ÐCZÕZÓ[ÜˆDÐ$Õ$ ~Õ5¸ÕCÐF\Õ\Ó]ÜˆDÐ$Õ$ ~Õ5¸ÕCÐFWÕWÓXÜˆDÐ$Õ$ ~Õ5¸ÕCÐF_Õ_Ó`ÜˆDÐ$Õ$ ~Õ5¸ÕCÐF\Õ\Ó]ÜˆDÐ$Õ$ ~Õ5¸ÕCÐF`Õ`ÓaÜˆDÐ$Õ$ ~Õ5¸ÕCÐFXÕXÓYð	ð 	r   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   \   s   € ÷ ñ  )ñ r   c                 ó6  € \        4       p \        \        4       P                  4       4      \        V R ,          P                  4       4      \        V R,          R,          R ,          P                  4       4      \        V R,          R,          R ,          P                  4       4      \        V R,          R,          R ,          P                  4       4      .pV Uu. uF&  p\	        V4      P                  4       '       g   K$  VNK(  	  pp\        V\        R7      # u upi )ÚincludeÚtoolsÚlibraryÚexamplesÚcommonÚutil)Úrequired_header_names)r   r.   r'   r    r   Úis_dirr	   Ú _SWORDFISH_REQUIRED_CUDA_HEADERS)Úcutlass_rootÚinclude_pathsÚps      r   Ú_swordfish_include_pathsr?   \   sÚ   € Ü)Ó+€LäÔ"Ó$×,Ñ,Ó.Ó/Üˆ\˜IÕ%×.Ñ.Ó0Ó1Üˆ\˜GÕ# iÕ/°)Õ;×DÑDÓFÓGÜˆ\˜JÕ&¨Õ1°IÕ=×FÑFÓHÓIÜˆ\˜GÕ# fÕ,¨yÕ8×AÑAÓCÓDð€Mñ !.ÓB¡˜1´°a³·±×1A—Q�Q¡€MÐBÜ+ØÜ>ôð ùò Cs   Ã!DÃ=Dc               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   m   s   € ÷ 0ñ 0 ñ 0r   c                 ó   € \        R R7      # )T)Úenable_bf16)r
   r   r   r   Ú_swordfish_extra_cflagsrC   m   s   € Ü¨$Ô/Ð/r   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   q   s   € ÷ ñ  iñ r   c                 óª   € \        4       '       d   . # \        p R R\        \        4       R,          4      .\        O\        RRRRRRR\        R7      OV O# )z
-DUSE_CUDAz-includezswordfish_arch_macros.cuhTF)rB   Úinclude_lineinfoÚinclude_nvcc_threadsÚinclude_ptxas_optimizationsÚinclude_ptxas_verbosityÚinclude_fatbin_compressionÚinclude_diag_suppressÚnvcc_threads)Ú_swordfish_static_runtime_errorÚ_SWORDFISH_ARCH_FLAGSr.   r'   Ú(_SWORDFISH_REQUIRED_TORCH_NVCC_UNDEFINESr   Ú_SWORDFISH_JIT_NVCC_THREADS)Ú
arch_flagss    r   Ú_swordfish_extra_cuda_cflagsrR   q   sx   € Ü&×(Ò(Øˆ	ô
 #8€Jð 	ð 	ÜÔ"Ó$Ð'BÕBÓCðô 
2ðô 
!ØØ!Ø!%Ø(,Ø$)Ø'+Ø"&Ü4ô	

ðð( 
ð)ð r   c               ó   € V ^8„  d   QhRR/# r)   r   )r   s   "r   r   r   ’   s   € ÷ 0ñ 0 )ñ 0r   c                 ó
   € . RO# )ú-lcuda)rU   z-lcublasz
-lcublasLtr   r   r   r   Ú_swordfish_extra_ldflagsrV   ’   s   € Ú/Ð/r   ÚnameÚ	namespaceÚrequired_opsÚsourcesÚbuild_root_envÚGPTQMODEL_SWORDFISH_BUILD_ROOTÚdefault_build_rootc                 ó   € \        R 4      # )r&   )r   r   r   r   Ú<lambda>r_   ¢   s
   € Ô;¸KÔHr   Údisplay_nameÚ	SwordfishÚextra_cflagsÚextra_cuda_cflagsÚextra_include_pathsÚextra_ldflagsÚforce_rebuild_envÚ!GPTQMODEL_SWORDFISH_FORCE_REBUILDÚverbose_envÚGPTQMODEL_EXT_VERBOSEÚrequires_cudaTÚtorch_stable_abi_targetÚ merge_visible_cuda_arch_overrideFc                 ó   € ^ RI Hp  V # )é    )Ú	extension)Ú	gptqmodelro   ©Úextension_apis    r   Ú_extension_apirs   ²   s   € Ý4àÐr   c               ó   € V ^8„  d   QhRR/# )r   r   úATuple[set[Tuple[int, int]], Dict[int, int], set[Tuple[int, int]]]r   )r   s   "r   r   r   ¸   s   € ÷ %=ñ %=ð 4ñ %=r   c                 ó`  € \        4       p / p\        4       p\         Fï  p\        P                  V4       F>  p\	        VP                  ^4      4      pV P                  V^
,          V^
,          34       K@  	  \        P                  V4       F|  p\	        VP                  ^4      4      pVP                  ^4      pV^
,          V^
,          r‡V'       d   VP                  Wx34       K[  VP                  V4      p	V	e	   W‰8  g   Kx  W�V&   K~  	  Kñ  	  V '       g   V'       g   V'       g   0 Rmp WV3# )aØ  Parse _SWORDFISH_ARCH_FLAGS and return the supported capability sets.

Returns:
    exact_caps: native cubin targets (`code=sm_*`) plus architecture-specific
        PTX targets (`code=compute_*` with an 'a' suffix).
    ptx_forward_min_minor: mapping from major version to the minimum minor
        for forward-compatible (non-'a') PTX targets, if any.
    ptx_exact_caps: architecture-specific PTX targets that only JIT to the
        exact matching compute capability.
>   ©é
   rn   ©rx   é   ©é   rn   )	ÚsetrN   Ú_SWORDFISH_GENCODE_SM_REÚfinditerÚintÚgroupÚaddÚ_SWORDFISH_GENCODE_PTX_REÚget)
Ú
exact_capsÚptx_forward_min_minorÚptx_exact_capsÚflagÚmatchÚcapÚsuffixÚmajorÚminorÚprevs
             r   Ú)_swordfish_supported_compute_capabilitiesr�   ¸   sù   € ô (+£u€JØ,.ÐÜ+.«5€Nß%ˆÜ-×6Ñ6°tÖ<ˆEÜ�e—k‘k !“nÓ%ˆCØ�N‰N˜C 2�I s¨R¥xÐ0Ö1ñ =ô /×7Ñ7¸Ö=ˆEÜ�e—k‘k !“nÓ%ˆCØ—[‘[ “^ˆFØ "�9 c¨B¥h�5ßð ×"Ñ" E >Ö2ð -×0Ñ0°Ó7�Ø’< 5¦<Ø38¨%Ó0ó >ñ	 &÷$ ×3¿Nâ0ˆ
Ø¨nÐ<Ð<r   ru   Ú!_SWORDFISH_SUPPORTED_CAPABILITIESÚcheck_capabilityc               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚdeviceúOptional[torch.device]r‘   Úboolr   r.   r   )r   s   "r   r   r   å   s(   € ÷ /ñ /Ø"ð/ð ð/ð 	ñ	/r   c               óÔ  € \         '       d   R # \        P                  P                  R4      ^ ,          p \        ;QJ d*    . R VP                  R4      R,           4       F  NK  	  5M#! R VP                  R4      R,           4       4      pT\        8  d)   \        w  rERT RT RT RT R	\        P                   R2# \        P                  P                  4       '       g   R
# T'       g   R# T e   \        P                  ! T 4      MRpTe    \        P                  P                  T4      M\        P                  P                  4       w  rE\        w  rxp	YE3T9   g   YE3T	9   g   YH9   d   YXT,          8¼  d   R# RP                  R \        Yy,          4       4       4      p
RT
 RT RT R2#   \        \        3 d&    \        w  rERT RT R\        P                   R2u # i ; i)z*Swordfish kernel is not supported on ROCm.Ú+c              3  ó8   "  € T F  p\        V4      x € K  	  R # 5i©N)r€   )Ú.0Úparts   & r   Ú	<genexpr>Ú2_swordfish_static_runtime_error.<locals>.<genexpr>î   s   é € Ð!TÑ8S°¤# d§) )Ó8Sùs   ‚Ú.:Nr   Nz?Swordfish kernel cannot verify torch stable ABI requirement >= z; unrecognized torch version z#Swordfish kernel requires torch >= z (compiled against the torch z stable ABI); found torch zSwordfish kernel requires CUDA.Ú Nz, c              3  ó4   "  € T F  w  rR V V 2x € K  	  R# 5i)ÚsmNr   )rš   ÚmjÚmns   &  r   rœ   r�     s#   é € ð á4‰FˆBð ˆRˆD���Û4ùs   ‚z3Swordfish kernel only supports Blackwell variants (z); found compute capability )r   ÚtorchÚ__version__Ú	partitionÚtupleÚsplitÚ	TypeErrorÚ
ValueErrorÚ"_SWORDFISH_TORCH_STABLE_ABI_TARGETÚcudaÚis_availabler“   Úget_device_capabilityr�   ÚjoinÚsorted)r“   r‘   Útorch_publicÚtorch_major_minorrŒ   r�   Útargetr…   Úptx_forwardÚ	ptx_exactÚ	supporteds   &$         r   rM   rM   å   sç  € ÷
 ƒwÙ;Ü×$Ñ$×.Ñ.¨sÓ3°AÕ6€Lð
ß!œEÑ!T¸×8JÑ8JÈ3Ó8OÐPRÖ8SÓ!TŸE™EÑ!T¸×8JÑ8JÈ3Ó8OÐPRÖ8SÓ!TÓTÐð Ô=Ô=Ü9‰ˆà1°%°¸¸%¸ð A+Ø+0¨'°°5°'ð :Ü ×,Ñ,Ð-¨Qð0ð	
ô
 �:‰:×"Ñ"×$Ò$Ù0ßÙØ%+Ò%7ŒU�\Š\˜&Ô!¸T€Fð Òô 	�
‰
×(Ñ(¨Ô0ä�Z‰Z×-Ñ-Ó/ñ €Eô
 *KÑ&€J˜Yà	ˆ˜*Ô$Øˆ>˜YÔ&ØÔ  U¸%Õ.@Ô%@áØ—	‘	ñ ä˜ZÕ3Ô4óó €Ið
Øˆ;Ð2°5°'¸¸5¸'Àð	DðøôE ”zÐ"ô 
Ü9‰ˆàMÈeÈWÐTUÐV[ÐU\ð ]*Ü*/×*;Ñ*;Ð)<¸Að?ò	
ð
ús   ¶
F1 ÁAF1 Æ13G'Ç&G'c               ó    € V ^8„  d   QhRRRR/# ©r   r“   r”   r   r•   r   )r   s   "r   r   r     s   € ÷ 9ñ 9Ð/Eð 9ÐQUñ 9r   c                ó   € \        V 4      R 8H  # )rŸ   )rM   )r“   s   &r   Ú"_validate_swordfish_device_supportrº     s   € Ü*¨6Ó2°bÑ8Ð8r   c               ó   € V ^8„  d   QhRR/# ©r   r   r•   r   )r   s   "r   r   r     s   € ÷ ñ ¨4ñ r   c                 ó&  € \        R R7      '       d   R # \        ;QJ dA    R \        \        P                  P                  4       4       4       F  '       g   K   R# 	  R # ! R \        \        P                  P                  4       4       4       4      # )F)r‘   c              3  ól   "  € T F*  p\        \        P                  ! R V 24      4      R8H  x € K,  	  R# 5i)zcuda:rŸ   N)rM   r¤   r“   )rš   Úindexs   & r   rœ   Ú4_validate_swordfish_build_support.<locals>.<genexpr>  s0   é € ð á5ˆEô 	(¬¯ª°u¸U¸G°_Ó(EÓFÈ"ÖLÛ5ùs   ‚24T)rM   ÚanyÚranger¤   r¬   Údevice_countr   r   r   Ú!_validate_swordfish_build_supportrÄ     so   € Ü&¸×>Ó>Ùß‹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   s   "r   r   r   $  s   € ÷ 6ñ 6 tñ 6r   c                 ó4   € \        4       P                  R4      # )zAReturn extension availability without consulting the current GPU.r&   )rs   r­   r   r   r   Úswordfish_extension_availablerÇ   $  s   € äÓ×(Ñ(¨Ó5Ð5r   c               ó   € V ^8„  d   QhRR/# )r   r   r.   r   )r   s   "r   r   r   )  s   € ÷ Pñ P 3ñ Pr   c                 ó~   € \        4       p V P                  R 4      '       d   R# V P                  R 4      ;'       g    R# )r&   rŸ   zSwordfish runtime unavailable.)rs   r­   Úerrorrq   s    r   Úswordfish_extension_errorrË   )  s8   € Ü"Ó$€MØ×!Ñ! +×.Ò.ÙØ×Ñ˜{Ó+×OÐOÐ/OÐOr   c               ó    € V ^8„  d   QhRRRR/# r¸   r   )r   s   "r   r   r   0  s   € ÷ +ñ +Ð(>ð +È$ñ +r   c                ó@   € \        V 4      pV'       d   R # \        4       # ©F)rM   rÇ   ©r“   Ústatic_errors   & r   Úswordfish_runtime_availablerÑ   0  s   € Ü2°6Ó:€LßÙÜ(Ó*Ð*r   c               ó    € V ^8„  d   QhRRRR/# )r   r“   r”   r   r.   r   )r   s   "r   r   r   7  s   € ÷ 'ñ 'Ð$:ð 'Àcñ 'r   c                ó@   € \        V 4      pV'       d   V# \        4       # r™   )rM   rË   rÏ   s   & r   Úswordfish_runtime_errorrÔ   7  s   € Ü2°6Ó:€LßØÐä$Ó&Ð&r   c               ó   € V ^8„  d   QhRR/# )r   r   ÚNoner   )r   s   "r   r   r   ?  s   € ÷ 1ñ 1¨ñ 1r   c                 ó.   € \         P                  4        R # r™   )Ú_SWORDFISH_TORCH_OPS_EXTENSIONÚclear_cacher   r   r   Úclear_swordfish_extension_cacherÚ   ?  s   € Ü"×.Ñ.Ö0r   c               ó   € V ^8„  d   QhRR/# r¼   r   )r   s   "r   r   r   C  s   € ÷ @ñ @ Tñ @r   c                 óD   € \        4       P                  R R7      R ,          # )r&   )rW   )rs   Úloadr   r   r   Úprewarm_swordfish_extensionrÞ   C  s   € ÜÓ× Ñ  kÐ Ó2°;Õ?Ð?r   c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R/# )
r   Ú
b_q_weightútorch.TensorÚsize_kr€   Úsize_nÚnum_bitsÚpermúOptional[torch.Tensor]r   r   )r   s   "r   r   r   G  sD   € ÷ 	ñ 	Øð	àð	ð ð	ð ð		ð
 !ð	ð ñ	r   c                óF   € \        4       P                  R R4      ! WWV4      # )r&   Úswordfish_prepack_B©rs   Úop)rà   râ   rã   rä   rå   s   &&&&&r   rè   rè   G  s)   € ô Ó×Ñ˜{Ð,AÔBØ˜&¨(óð 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   Úará   Úb_packedÚgroup_scalesÚ
group_sizer€   râ   rã   Ú	group_zpsræ   rä   r   r   )r   s   "r   r   r   S  ób   € ÷ ñ Øðàðð ðð ð	ð
 ðð ðð &ðð ðð ñr   c           
     óP   € \        4       P                  R R4      ! V VVVVVVV4      # )r&   Úswordfish_mmré   ©rí   rî   rï   rð   râ   rã   rñ   rä   s   &&&&&&&&r   rô   rô   S  s9   € ô Ó×Ñ˜{¨NÔ;Ø	ØØØØØØØó	ð 	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   rî   rá   rï   rñ   ræ   rä   r€   rð   râ   rã   Ú	transposer•   r   r   )r   s   "r   r   r   i  sb   € ÷ ñ Øðàðð &ðð ð	ð
 ðð ðð ðð ðð ñr   c           
     óP   € \        4       P                  R R4      ! V VVVVVVV4      # )r&   Úswordfish_dequant_denseré   )rî   rï   rñ   rä   rð   râ   rã   r÷   s   &&&&&&&&r   rù   rù   i  s:   € ô Ó×Ñ˜{Ð,EÔFØØØØØØØØó	ð 	r   c               óT   € 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RRRRRRR/# )r   rí   rá   rî   rï   Úsorted_token_idsÚ
expert_idsÚnum_tokens_post_paddedÚtopk_weightsræ   Úmoe_block_sizer€   Útop_kÚmul_topk_weightsr•   rä   rð   râ   rã   r   r   )r   s   "r   r   r     sž   € ÷ ñ Øðàðð ðð #ð	ð
 ðð )ðð )ðð ðð ðð ðð ðð ðð ðð ðð ñr   c                ó\   € \        4       P                  R R4      ! V VVVVVVVVV	V
VVV4      # )r&   Úswordfish_moe_mmré   )rí   rî   rï   rû   rü   rý   rþ   rÿ   r   r  rä   rð   râ   rã   s   &&&&&&&&&&&&&&r   r  r    sL   € ô  Ó×Ñ˜{Ð,>Ô?Ø	ØØØØØØØØØØØØØóð 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ì   r   )r   s   "r   r   r   ¡  rò   r   c           
     óP   € \        4       P                  R R4      ! V VVVVVVV4      # )r&   Úswordfish_prefill_mmré   rõ   s   &&&&&&&&r   r  r  ¡  s:   € ô Ó×Ñ˜{Ð,BÔCØ	ØØØØØØØó	ð 	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ð :Ð@Pñ :r   c                ót   € V '       d   \         P                  .# \         P                  \         P                  .# r™   )r   Úuint4Úuint4b8Ú	uint8b128)r  s   &r   Ú%query_swordfish_supported_quant_typesr  ·  s-   € ÷ Ü×"Ñ"Ð#Ð#Ü× Ñ ¤,×"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ð +Ð?Pñ +r   c                óB   € \         P                  \         P                  .# r™   )r¤   Úfloat16Úbfloat16)r  s   &r   Ú#query_swordfish_supported_act_typesr  ¿  s   € Ü�M‰Mœ5Ÿ>™>Ð*Ð*r   c               ó    € V ^8„  d   QhRRRR/# )r   Ú	_act_typeztorch.dtyper   z	List[int]r   )r   s   "r   r   r   Ã  s   € ÷ ñ °[ð ÀYñ r   c                ó
   € . RO# )é   )éÿÿÿÿé    é@   é€   r   )r  s   &r   Ú%query_swordfish_supported_group_sizesr  Ã  s   € ÚÐr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úin_featuresr€   Ú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# )rn   Fz)Input features size must be divisible by z*Output features size must be divisible by )TN)ÚSWORDFISH_PREPACKED_BLOCK_SHAPE)r  r  s   &&r   Úcheck_swordfish_supports_shaper"  Ç  sr   € ð Ô4°QÕ7Õ7¸1Ô<àØ7Ô8WÐXYÕ8ZÐ7[Ð\ð
ð 	
ð Ô5°aÕ8Õ8¸AÔ=àØ8Ô9XÐYZÕ9[Ð8\Ð]ð
ð 	
ð Ðr   )r   rx   )z'-gencode=arch=compute_100a,code=sm_100az'-gencode=arch=compute_103a,code=sm_103az'-gencode=arch=compute_110a,code=sm_110az,-gencode=arch=compute_103a,code=compute_103a)z-U__CUDA_NO_HALF_OPERATORS__z-U__CUDA_NO_HALF_CONVERSIONS__z"-U__CUDA_NO_BFLOAT16_CONVERSIONS__)zcuda_runtime_api.hzcublas_v2.hz
cublasLt.hzcusolverDn.h)r  r  r   )rè   rô   rù   r  r  r™   )é   N)Nr#  rÎ   )r"  rÚ   rÞ   r  r  r  rù   rÇ   rË   rô   r  rè   r  rÑ   rÔ   )GÚ__conditional_annotations__Ú__doc__Ú
__future__r   ÚreÚpathlibr   Útypingr   r   r   r   r¤   Úcppr   r	   r
   r   r   Úloggerr   Úmarlin_scalar_typer   r   Úmacheter   Úrocmr   ÚlogÚ_SWORDFISH_OPS_NAMEÚ_SWORDFISH_OPS_NAMESPACEr«   Úcompiler~   rƒ   rN   rP   rO   r;   r!  r"   r'   r0   r?   rC   rR   rV   rØ   rs   r�   r�   Ú__annotations__rM   rº   rÄ   rÇ   rË   rÑ   rÔ   rÚ   rÞ   rè   rô   rù   r  r  r  r  r  r"  Ú__all__)r$  s   @r   Ú<module>r5     sý  øðô
õ #ã 	Ý ß .Ó .ã ÷õ õ !ß 8Ý +Ý áƒn€à/Ð Ø0Ð Ø%,Ð "àŸ:š:Ð&>Ó?Ð ØŸJšJÐ'DÓEÐ ð
Ð ð #Ð ð,Ð (ð$Ð  ð #+Ð õ/õEõõõ"0õõB0ñ "6ò "Ù	ð"á&ð"ñð"ñ ð"ñ 4ð"ò Ið"ñ ð"ñ )ð"ñ 3ð"ñ  1ð!"ñ" +ð#"ñ$ :ð%"ñ& (ð'"ñ( ð)"ñ* ?ð+"ñ0 &+ð1"Ð ò8õ%=ñT .Ó/ð "ð $ó 0ñ
/ð "÷/ð /÷d9õõ6õ
P÷+÷'õ1õ@÷	÷÷,õ,÷Dõ,:õ+õõò"‚r   