+
    UBinQ                      a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^RIHtH	t	 ^RI
Ht ^RIHt ^RIHtHt ^RIHtHtHtHtHtHt ]P0                  '       dJ   ^ RIHt ^R	IHt ^R
IHt ^RIHt  ! R R]4      t]P@                  ]!]PD                  ]!,          3,          t#]! R]! ]$]!4      ]3RR7      t%R]&R&   ]PN                   ! R R4      4       t(. ](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RR R!4      N](! R"R#R$4      N](! R%R&R'4      N](! R(R)R*4      N](! R+R,R-4      N](! R.R,R-4      N](! R/R0R14      N](! R2R3R44      N](! R5R3R64      N](! R7R8R94      N](! R:R;R<4      N](! R=R>R?4      N](! R@RARB4      N](! RCRDRE4      N](! RFRGRH4      N](! RIRJRK4      N](! RLRMRN4      N](! RORMRN4      N](! RPRQRR4      N](! RSRTRU4      N](! RVRWRX4      N](! RYRZR[4      N](! R\R]R^4      N](! R_R`Ra4      N](! RbRcRd4      N](! ReRfRg4      N](! RhRiRg4      N](! RjRkRl4      N](! RmRnRo4      N](! RpRqRr4      N](! RsRtRu4      N](! RvRwRx4      N](! RyRzRx4      N](! R{R|R}4      N](! R~RR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      N](! RRR4      Nt)R]&R&    ! R R]4      t*R R lt+R# )    )annotationsN)listifyversion_compare)CudaCompiler)NoneType)NewExtensionModule
ModuleInfo)ContainerTypeInfoInvalidArguments	KwargInfonoKwargstyped_kwargstyped_pos_args)	TypedDict)ModuleState)Interpreter)TYPE_varc                  "    ] tR t^t$ R]R&   RtR# )ArchFlagsKwargszT.Optional[T.List[str]]detected N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       </usr/lib/python3.14/site-packages/mesonbuild/modules/cuda.pyr   r      s    ))r   r   r   T)r   z%KwargInfo[T.Union[None, T.List[str]]]DETECTED_KWc                  B    ] tR t^$t$ R]R&   R]R&   R]R&   R R ltRtR# )	_CudaVersionstrmesonwindowslinuxc               $    V ^8  d   QhRRRRRR/# )   versionr#   machinereturnT.Optional[str]r   )formats   "r   __annotate___CudaVersion.__annotate__+   s!      s S _ r   c                	    \        VR V P                   24      '       d    VR8X  d   V P                  # V P                  # R# )>=r%   N)r   r$   r%   r&   )selfr)   r*   s   &&&r   compare_CudaVersion.compare+   s7    7b$566#*i#74<<GTZZGr   r   N)r   r   r   r   r   r3   r   r   r   r   r"   r"   $   s     JLJ r   r"   z13.0.2unknownz	580.95.05z13.0.1z	580.82.07z13.0.0z	580.65.06z12.9.1z576.57z	575.57.08z12.9.0z576.02z	575.51.03z12.8.1z572.61z
570.124.06z12.8.0z570.65z570.26z12.6.3z561.17z	560.35.05z12.6.2z560.94z	560.35.03z12.6.1z12.6.0z560.76z	560.28.03z12.5.1z555.85z	555.42.06z12.5.0z	555.42.02z12.4.1z551.78z	550.54.15z12.4.0z551.61z	550.54.14z12.3.1z546.12z	545.23.08z12.3.0z545.84z	545.23.06z12.2.2z537.13z
535.104.05z12.2.1z536.67z	535.86.09z12.2.0z536.25z	535.54.03z12.1.1z531.14z	530.30.02z12.1.0z12.0.1z528.33z	525.85.11z12.0.0z527.41z	525.60.13z11.8.0z522.06z	520.61.05z11.7.1z516.31z	515.48.07z11.7.0z516.01z	515.43.04z11.6.1z511.65z	510.47.03z11.6.0z511.23z	510.39.01z11.5.1z496.13z	495.29.05z11.5.0z496.04z11.4.3z472.50z	470.82.01z11.4.1z471.41z	470.57.02z11.4.0z471.11z	470.42.01z11.3.0z465.89z	465.19.01z11.2.2z461.33z	460.32.03z11.2.1z461.09z11.2.0z460.82z	460.27.03z11.1.1z456.81z455.32z11.1.0z456.38z455.23z11.0.3z451.82z	450.51.06z11.0.2z451.48z	450.51.05z11.0.1z451.22z	450.36.06z10.2.89z441.22z440.33z10.1.105z418.96z418.39z10.0.130z411.31z410.48z9.2.148z398.26z396.37z9.2.88z397.44z396.26z9.1.85z391.29z390.46z9.0.76z385.54z384.81z8.0.61z376.51z375.26z8.0.44z369.30z367.48z7.5.16z353.66z352.31z7.0.28z347.62z346.46zT.List[_CudaVersion]_DRIVER_TABLE_VERSIONc                  2  a  ] tR t^kt]! RRRR7      tR V 3R llt]R R l4       t]	! R	]
]3]
R
7      ]! R	]4      R R l4       4       t]	! R]
]3]
R
7      ]! R]4      R R l4       4       t]R R l4       t]R R l4       tR R ltR R ltR R ltRtV ;t# )
CudaModuleCUDAz0.50.0T)unstablec                   V ^8  d   QhRR/# )r(   interpr   r   )r-   s   "r   r.   CudaModule.__annotate__o   s      { r   c                	   < \         SV `  4        V P                  P                  R V P                  RV P
                  RV P                  /4       R# )min_driver_versionnvcc_arch_flagsnvcc_arch_readableN)super__init__methodsupdater?   r@   rA   )r2   r<   	__class__s   &&r   rC   CudaModule.__init__o   sF     $"9"9$"6"6 $"9"9
 	r   c               (    V ^8  d   QhRRRRRRRR/# )	r(   state'ModuleState'argszT.List[TYPE_var]kwargszT.Dict[str, T.Any]r+   r#   r   )r-   s   "r   r.   r=   x   s+       !1#5:=r   c                	(   \        R4      p\        V4      ^8w  g   \        V^ ,          \        4      '       g   VhV^ ,          p\         FD  pVP                  WQP                  P                  P                  P                  4      pVf   KB  Vu # 	  R# )z>min_driver_version must have exactly one positional argument: r5   zmin_driver_version must have exactly one positional argument: a CUDA Toolkit version string. Beware that, since CUDA 11.0, the CUDA Toolkit's components (including NVCC) are versioned independently from each other (and the CUDA Toolkit as a whole).)
r   len
isinstancer#   r6   r3   environmentmachineshostsystem)r2   rI   rK   rL   argerrorcuda_versionddriver_versions   &&&&    r   r?   CudaModule.min_driver_versionw   s     $ %g h t9>DGS!9!9NAw&AYY|5F5F5O5O5T5T5[5[\N)%% ' r   zcuda.nvcc_arch_flags)varargsc               (    V ^8  d   QhRRRRRRRR/# 	r(   rI   rJ   rK   z0T.Tuple[T.Union[CudaCompiler, str], T.List[str]]rL   r   r+   T.List[str]r   )r-   s   "r   r.   r=      s+      ] N /4?r   c                	V    V P                  W#4      pV P                  ! V!  ^ ,          pV# )r   _validate_nvcc_arch_args_nvcc_arch_flagsr2   rI   rK   rL   nvcc_arch_argsrets   &&&&  r   r@   CudaModule.nvcc_arch_flags   .    
 66tD##^4Q7
r   zcuda.nvcc_arch_readablec               (    V ^8  d   QhRRRRRRRR/# r[   r   )r-   s   "r   r.   r=      s+       !Q#27Br   c                	V    V P                  W#4      pV P                  ! V!  ^,          pV# )   r^   ra   s   &&&&  r   rA   CudaModule.nvcc_arch_readable   re   r   c                    V ^8  d   QhRRRR/# )r(   sr#   r+   r\   r   )r-   s   "r   r.   r=      s     ' 'c 'k 'r   c                	r    \         P                  ! R RV 4      p V P                  R4      P                  R4      # )z	[ 	
,;]+;)resubstripsplit)rk   s   &r   _break_arch_stringCudaModule._break_arch_string   s-    FF>3*wws|!!#&&r   c                    V ^8  d   QhRRRR/# )r(   czT.Union[str, CudaCompiler]r+   r\   r   )r-   s   "r   r.   r=      s      &@ [ r   c                	L    \        V \        4      '       d   V P                  .# . # N)rO   r   detected_cc)ru   s   &r   _detected_cc_from_compiler%CudaModule._detected_cc_from_compiler   s     a&&MM?"	r   c               $    V ^8  d   QhRRRRRR/# )r(   rK   z0T.Tuple[T.Union[str, CudaCompiler], T.List[str]]rL   r   r+   z#T.Tuple[str, AutoArch, T.List[str]]r   )r-   s   "r   r.   r=      s$     1 1-] 1)81=`1r   c                	   V^ ,          p\        V\        4      '       d   VP                  pMTpV^,          p\        V Uu. uF  q`P	                  V4      NK  	  up4      p\        V4      ^8  d.   \        V4      P                  0 Rm4      '       g   \        R4      h\        V4      ^8X  d
   V^ ,          MTpVR,          e
   VR,          MV P                  V4      pV UUu. uF  q`P	                  V4       F  qNK  	  K  	  ppp\        V4      P                  0 Rm4      '       g   \        R4      hWEV3# u upi u uppi )r   zaThe special architectures 'All', 'Common' and 'Auto' must appear alone, as a positional argument!r   >   AllAutoCommon)
rO   r   r)   r   rr   rN   set
isdisjointr   ry   )	r2   rK   rL   compilerrU   	arch_listar   xs	   &&&      r   r_   #CudaModule._validate_nvcc_arch_args   s+    7h--#++L#L"1g	KA44Q7KL	y>Ac)n&?&?@Y&Z&Z"  $K  L  L$'	Na$7IaLY	)/
);)G6*%TMlMlmuMv'Lx!1H1H1KAA1KAxL8}''(ABB"  $K  L  L00 L Ms   D8#!D=c          
     ,    V ^8  d   QhRRRRRRRRRR/# )	r(   cuda_arch_listr\   lor#   hir,   saturater+   r   )r-   s   "r   r.   r=      s1     ' '[ 'c ' 'jm 'r} 'r   c                    . pV Fl  pV'       g   K  V'       d   \        VRV,           4      '       d   K0  V'       d   \        VRV,           4      '       d   TpWe9  g   K[  VP                  V4       Kn  	  V# )z
Filter CUDA arch list (no codenames) for >= low and < hi architecture
bounds, and deduplicate.
Architectures >= hi are replaced with saturate.
<r1   )r   append)r2   r   r   r   r   filtered_cuda_arch_listarchs   &&&&&  r   _filter_cuda_arch_list!CudaModule._filter_cuda_arch_list   sc     #%"Dt/$b99/$r	::#D6+2248 # '&r   c               (    V ^8  d   QhRRRRRRRR/# )	r(   rU   r#   r   AutoArchr   r\   r+   z!T.Tuple[T.List[str], T.List[str]]r   )r-   s   "r   r.   r=      s4     l/ l/S l/( l/Va l/  gH l/r   c                   . p. R]OpRpRp. R^Op\        VR4      '       d   VP                  RR	.4       \        VR
4      '       Ed   VP                  R4       \        VR4      '       d   Rp\        VR4      '       d4   V. R_O,          pVR.,          p\        VR4      '       d   VR.,          pRp\        VR4      '       d@   VRR.,          pVRR.,          pV. R`O,          p\        VR4      '       d   VR.,          pRp\        VR4      '       dA   VRR.,          pVR.,          pVRR .,          pRp\        VR!4      '       d   VR".,          pR#p\        VR$4      '       d=   VR%.,          pVR&.,          pVR&.,          p\        VR'4      '       d   VR(.,          pR#pR#.p	R#.p
\        VR)4      '       d?   VR*.,          pVR#.,          pVR#.,          pRp\        VR+4      '       d   VR,.,          pR-p\        VR.4      '       d@   V	R-.,          p	R-.p
VR-.,          pVR-.,          p\        VR/4      '       d   VR0.,          pR1p\        VR24      '       d6   V. RaO,          pV. RbO,          pV. RcO,          p\        VR84      '       d   R9p\        VR:4      '       d   Rp\        VR;4      '       d   R<p\        VR=4      '       dn   VP                  R>4       VP                  R<R?.4       VP                  R<R?.4       \        VR;4      '       d%   VP                  R@4       VP                  R@4       RAp\        VRB4      '       d'   VP                  RCRA.4       VP                  RCRA.4       \        VRD4      '       d9   VP                  RE4       VP                  RE4       R&p\        VRF4      '       d   RApV'       g   RGpVRH8X  d   TpMVRI8X  d   TpMVRG8X  dR   V'       dG   \        V\        4      '       d   TpMV P                  V4      pV P                  VVVVRd,          4      pM*TpM'\        V\        4      '       d   V P                  V4      p\        RJ \        V4       4       4      p. p. pV EF  pVP                  RK4      pV'       d   VR\        RK4      )  p\        P                  ! RLV4      '       d   V.V.ppM/ RRRM.. 3bRR.. 3bRRN.. 3bR	RR.R.3bRRO.. 3bRRR.R.3bRRR.R.3bRR.. 3bRR.R.3bRR .. 3bR%R&.R&.3bR*W3bR3R1.. 3bR4R6.R6.3bR5R7.R7.3bR>R<.R<.3bP                  VRe4      w  ppVf   \        RPV RQ24      hW,          pV'       g   K  V'       g   TpVV,          pEK
  	  \        \        V4      4      p\        \        V4      4      p. p. pV EF  p\        P                  ! RRV4      P!                  4       w  pp\        VRSV,           4      '       d   KG  V'       d   \        VRTV,           4      '       d   Kj  V'       dX   VP#                  RURV4      pVP#                  RURV4      pVRWRXV,           RY,           V,           .,          pVRZV,           .,          pK  VP#                  RURV4      pVRWRXV,           RY,           V,           .,          pVRZV,           .,          pEK  	  V F  p\        P                  ! RRV4      P!                  4       w  ppV'       d   Tp\        VRSV,           4      '       d   KP  V'       d   \        VRTV,           4      '       d   Ks  VP#                  RURV4      pVRWRXV,           R[,           V,           .,          pVR\V,           .,          pK  	  VV3# )fzc
Using the CUDA Toolkit version and the target architectures, compute
the NVCC architecture flags.
3.03.55.0Nz2.03.2z<12.0FermiKeplerz<13.0Maxwellz<7.0z5.2z>=7.0Kepler+TegraKepler+TeslaMaxwell+Tegraz<8.0z5.2+PTX6.0z>=8.0PascalzPascal+Tegra6.16.2z<9.0z6.1+PTXz7.0z>=9.0VoltaXavierz7.2z<10.0z7.2+PTXz8.0z>=10.0Turingz7.5z<11.0z7.5+PTXz>=11.0Amperez<11.1z8.0+PTXz8.6z>=11.1z<11.8z8.6+PTX8.7z>=11.8OrinLovelaceHopper8.99.0z<12z9.1z>=12.0z<13z10.0z>=12.8	Blackwellz12.0z10.1z12.1z>=12.9z10.3z>=13.0z11.0z<14r~   r}   r   c              3  8   "   T F  q'       g   K  Vx  K  	  R # 5irw   r   ).0r   s   & r   	<genexpr>.CudaModule._nvcc_arch_flags.<locals>.<genexpr>g  s     D+>a!+>s   	
z+PTXz![0-9]+\.[0-9](\([0-9]+\.[0-9]\))?z2.1(2.0)z3.7z5.3zUnknown CUDA Architecture Name !z'([0-9]+\.[0-9])(?:\(([0-9]+\.[0-9])\))?r   r1   . z-gencodezarch=compute_z	,code=sm_sm_z,code=compute_compute_)r   r   r   )r   r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   r   z9.0+PTX)r   r   r   )NN)r   extendr   rO   listrr   r   r#   sortedr   endswithrN   rn   	fullmatchgetr   groupsreplace)r2   rU   r   r   cuda_known_gpu_architecturescuda_common_gpu_architecturescuda_hi_limit_gpu_architecturecuda_lo_limit_gpu_architecturecuda_all_gpu_architecturescuda_ampere_bincuda_ampere_ptxcuda_arch_bincuda_arch_ptx	arch_nameadd_ptxarch_binarch_ptx
nvcc_flagsnvcc_archs_readabler   codevs   &&&&                 r   r`   CudaModule._nvcc_arch_flags   sM    *,$)>%)-&).&)E" <11(//(0CD <11(//	:|V4416.|W55,1bb,-%8-"<881i[@15:2|W55,(N1KK,-%?-*1FF*"<881i[@15:2|W55,'81DD,-%8-*%?*16."<991i[@15:2<22(hZ7()eW4)&eW4&|W55-)<-16. !' '<22(hZ7()eW4)&eW4&-2*|W55-)<-16.<22w&O %wO)eW4)&eW4&|W55-)<-16.<22(-KK()-FF)&-BB&|U3316.<22 .3*|U3317.<22(//<)00&&1AB&--vv.>?|U33-44V<*11&917.<22)00&&1AB&--vv.>?<22)008&--f5-2*|U3317.#Nu$9Nx':Nv%h--%-N%)%<%<X%FN!%!<!<^=[=[=Z[]=^"`
 "?,,!44^DND3~+>DD%'%''I  ((0G%mF|4	||CYOO&/[9+((&uj&92%>&"ug2%>& #ug2%>& uenE7%C	&
 $ug2%>& uenE7%C& uenE7%C& #ug2%>& ugE7%C& ug2%>& ugE7%C& o%K& ug2%>& ugE7%C& ugE7%C&   vhF8%D!&" #i.# #(& &)HST'UVV%Mw'H)K (N s=12s=12
 !D,,=tEEKVX D% tS+I%IJJ-/$OmHm2n2n||C,c2.z?U+B[+PSW+WXX
#~5#||C,z?T+AK+ORV+VWW
#~5## "& "D,,=tEEKVX D% tS+I%IJJ-/$OmHm2n2n<<R(D:'=@P'PSW'WXXJJ$5#66 "  ...r   r   )r   r   r   r   r	   INFOrC   r   r?   r   r#   r   r   r    r@   rA   staticmethodrr   ry   r_   r   r`   r   __classcell__)rF   s   @r   r8   r8   k   s    fh6D   $ *S,,?M(+6 7 N -\/BCP+[9 : Q ' '  
1,'$l/ l/r   r8   c                    V ^8  d   QhRRRR/# )r(   r<   r   r+   r8   r   )r-   s   "r   r.   r.     s      { z r   c                    \        V 4      # rw   )r8   )r<   s   &r   
initializer     s    fr   ),__conditional_annotations__
__future__r   dataclassesrn   typingTmesonlibr   r   compilers.cudar   interpreter.type_checkingr   r   r   r	   interpreterbaser
   r   r   r   r   r   TYPE_CHECKINGtyping_extensionsr   r   interpreterr   r   r   Unionr#   Listr   r   r    r   	dataclassr"   r6   r8   r   )r   s   @r   <module>r      s   # "  	  / ) 0 ,  ???+)**) * wwsAFF3K'(H 6?zL]^bdgLhjrKs  ~B  6C2  C 	 	 	7/9k27/9k27/ 9k27/ 8[1	7/
 8[17/ 8\27/ 8X.7/ 8[17/ 8[17/ 8[17/ 8[17/ 8[17/ 8[17/ 8[17/ 8[17/  8[1!7/" 8[1#7/$ 8\2%7/& 8[1'7/( 8[1)7/* 8[1+7/, 8[1-7/. 8[1/7/0 8[117/2 8[137/4 8[157/6 8[177/8 8[197/: 8[1;7/< 8[1=7/> 8[1?7/@ 8[1A7/B 8[1C7/D 8[1E7/F 8[1G7/H 8[1I7/J 8[1K7/L 8[1M7/N 8X.O7/P 8X.Q7/R 8[1S7/T 8[1U7/V 8[1W7/X Hh/Y7/Z Xx0[7/\ Xx0]7/^ Hh/_7/` 8X.a7/b 8X.c7/d 8X.e7/f 8X.g7/h 8X.i7/j 8X.k7/l 8X.m7/ + 7rP/# P/d
r   