ó
    Eñiÿ  ã                  ó   • S SK Jr  S SKrS SKrS SKrS SKJrJr  S SKrS SK	J
r
  \R                  R                  (       a  SOSSSSS	S
.rSr " S S\5      r " S S\5      r\
" 5       (       at  S SKrS SKrS SKr\" \R*                  R,                  S5      (       a  S SKJr    S$S jrON\" \R,                  R,                  S5      (       a  S SKJr    S$S jrO  S$S jrO\R2                  " SSS/SS/S9rSr " S S\5      r " S S\5      r " S S\R:                  5      r " S  S!\R:                  5      r " S" S#\R:                  5      r g)%é    )ÚannotationsN)ÚautoÚEnum)Úhas_triton_packagei    i   é   i   i €  )ÚXÚYÚZÚR0_ÚR1_é@   c                  ó$   • \ rS rSrSrSrSrSrSrg)ÚReductionHinté   r   é   é   é   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚINNERÚOUTERÚ
OUTER_TINYÚDEFAULTÚ__static_attributes__r   ó    ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/_inductor/runtime/hints.pyr   r      s   † Ø€EØ€EØ€JØƒGr   r   c                  ó   • \ rS rSrSrSrSrg)ÚTileHinté    r   r   r   N)r   r   r   r   ÚSQUAREr   r   r   r   r   r!   r!       s   † Ø€FØƒGr   r!   ÚAttrsDescriptor©r$   c                ó²   • U US.n[         R                  " U[         R                  S.5      nUR                  S   S:X  d   eUR                  S   S:X  d   eU$ )N)útt.divisibilityútt.equal_to)Úarg_propertiesÚclsr'   é   r(   r   )r$   Ú	from_dictr   Úproperty_values)Údivisible_by_16Ú
equal_to_1ÚkwargsÚress       r   ÚAttrsDescriptorWrapperr2   /   sk   € ð $3Ø)ñˆFô "×+Ò+Ø#)´/×2JÑ2JÑKóˆCð ×&Ñ&Ð'8Ñ9¸RÓ?Ð?Ð?Ø×&Ñ& }Ñ5¸Ó:Ð:Ð:ØˆJr   c                ó"   • U US.n[        S0 UD6$ )N)r.   r/   r   r%   )r.   r/   r0   s      r   r2   r2   E   s!   € ð $3Ø(ñˆFô #Ñ, VÑ,Ð,r   c                ó:   • U  Vs0 s H	  o"4SS//_M     sn$ s  snf )Nr'   r+   r   )r.   r/   Úxs      r   r2   r2   X   s+   € ñ
 >MÓMº_¸�DÐ-¨rÐ2Ð3Ò3¹_ÑMÐMùÒMs   …r.   r/   r   )Údefaultsr"   c                  óv   • \ rS rSr\" 5       r\" 5       r\" 5       r\" 5       r\" 5       r	\" 5       r
\" 5       rSrg)ÚHeuristicTypeél   r   N)r   r   r   r   r   ÚPERSISTENT_REDUCTIONÚ	POINTWISEÚ	REDUCTIONÚ
SPLIT_SCANÚTEMPLATEÚUSER_AUTOTUNEÚFIXEDr   r   r   r   r8   r8   l   s4   † Ù›6ÐÙ“€IÙ“€IÙ“€JÙ‹v€HÙ“F€MÙ‹FƒEr   r8   c                  ó0   • \ rS rSrSr\R                  rSrg)ÚAutotuneHintév   r   r   N)	r   r   r   r   ÚONE_ELEMENT_PER_THREADr   Ú__str__Ú__repr__r   r   r   r   rB   rB   v   s   † ØÐð �|‰|ƒHr   rB   c                  óº   • \ rS rSr% SrS\S'   S\S'   S\S'   S\S'   S	rS
\S'   S	rS
\S'   S	rS
\S'   S	r	S
\S'   S	r
S
\S'   \\R                  SS j5       5       rSrg	)ÚDevicePropertiesé€   zOCopy device properties into a data structure not requiring torch to be importedÚstrÚtypeÚintÚindexÚmulti_processor_countÚccNú
int | NoneÚmajorÚregs_per_multiprocessorÚmax_threads_per_multi_processorÚmax_threads_per_blockÚ	warp_sizec                óò  • SS K nSSKJn  UR                  nUR                  R
                  (       a  US:X  a  SnU" U5      nUR                  U5      n UR                  nU " UUR                  UUR                  U5      [        USS 5      [        US	S 5      [        US
S 5      [        USS5      [        USUS:w  a  S5      S9	$ S 5      S9	$ ! [         a     US:X  a  UR                  n NŠUS:X  a  Sn N”e f = f)Nr   )Úget_interface_for_deviceÚcudaÚhipÚxpuÚmtiar   rQ   rR   rS   rT   r   rU   Úcpur"   )	rK   rM   rN   rO   rQ   rR   rS   rT   rU   )ÚtorchÚtorch._dynamo.device_interfacerW   rK   ÚversionrY   Úget_device_propertiesrN   ÚAttributeErrorÚgpu_subslice_countrM   Úget_compute_capabilityÚgetattr)r*   Údevicer]   rW   Údevice_typeÚdevice_interfaceÚpropsrN   s           r   ÚcreateÚDeviceProperties.create�   s  € ó 	ÝKà—k‘kˆà�=‰=×× °Ó!6ØˆKá3°FÓ;ÐØ ×6Ñ6°vÓ>ˆð	Ø$)×$?Ñ$?Ð!ñ ØØ—,‘,Ø"7Ø×6Ñ6°vÓ>Ü˜% ¨$Ó/Ü$+¨EÐ3LÈdÓ$SÜ,3ØÐ8¸$ó-ô #*¨%Ð1HÈ$Ó"OÜ˜e [¸ÀuÓ8L°"ÓWñ
ð 	
ð SWÓWñ
ð 	
øô ó 	Ø˜eÓ#Ø(-×(@Ñ(@Ò%Ø Ó&Ø(*Ò%àð	ús   ÁC ÃC6Ã*C6Ã4C6r   )ÚreturnrH   )r   r   r   r   Ú__doc__Ú__annotations__rQ   rR   rS   rT   rU   ÚclassmethodÚ	functoolsÚcacheri   r   r   r   r   rH   rH   €   sm   ‡ ÙYà
ƒIØƒJØÓØƒGØ€Eˆ:ÓØ*.Ð˜ZÓ.Ø26Ð# ZÓ6Ø(,Ð˜:Ó,Ø €IˆzÓ àØ‡_�_ó 
ó ó ó 
r   rH   c                  óŠ   • \ rS rSr% S\S'   S\S'   SrS\S'   SrS\S'   SrS	\S
'   SrS	\S'   SS jr	SS jr
SS jrSS jrSrg)ÚHalideInputSpecé²   rJ   ÚctypeÚnameNzlist[str] | NoneÚshapeÚstrideú
str | NoneÚoffsetÚalias_ofc                ó<   • U R                   S;   a  gU R                   $ )N)ú	at::Half*úat::BFloat16*z	uint16_t*)rt   ©Úselfs    r   Úbindings_typeÚHalideInputSpec.bindings_typeº   s   € Ø�:‰:Ð7Ó7ØØ�z‰zÐr   c                ó†   • U R                   S:X  a  gU R                   S:X  a  gSU R                   R                  SS5       S3$ )	Nr|   z$halide_type_t(halide_type_float, 16)r}   z%halide_type_t(halide_type_bfloat, 16)zhalide_type_of<Ú*Ú z>())rt   Úreplacer~   s    r   Úhalide_typeÚHalideInputSpec.halide_type¿   sA   € Ø�:‰:˜Ó$Ø9Ø�:‰:˜Ó(Ø:Ø  §¡×!3Ñ!3°C¸Ó!<Ð =¸SÐAÐAr   c                ó   • U R                   S L $ ©N©rv   r~   s    r   Ú	is_scalarÚHalideInputSpec.is_scalarÆ   s   € Ø�z‰z˜TÐ!Ð!r   c                ó   • U R                   S L$ r‰   rŠ   r~   s    r   Ú	is_bufferÚHalideInputSpec.is_bufferÉ   s   € Ø�z‰z Ð%Ð%r   r   )rk   rJ   ©rk   Úbool)r   r   r   r   rm   rv   rw   ry   rz   r€   r†   r‹   rŽ   r   r   r   r   rr   rr   ²   sK   ‡ ØƒJØ
ƒIØ"€EÐÓ"Ø#€FÐÓ#Ø€FˆJÓØ€HˆjÓôô
Bô"÷&r   rr   c                  óh   • \ rS rSr% S\S'   S\S'   SrS\S'   SrS	\S
'   SrS\S'   SS jrSS jr	Sr
g)Ú
HalideMetaéÍ   zlist[HalideInputSpec]ÚargtypesrJ   ÚtargetNrx   Ú	schedulerzdict[str, int | str] | NoneÚscheduler_flagsrP   Úcuda_devicec                ó@  • SU R                    3/nU R                  (       a  UR                  SU R                   35        U R                  (       aM  U R                  (       d   eU R                  R	                  5        H  u  p#UR                  SU SU 35        M     U$ )z-Command line args to pass to halide generatorztarget=zautoscheduler=zautoscheduler.Ú=)r–   r—   Úappendr˜   Úitems)r   ÚargsÚkÚvs       r   rž   ÚHalideMeta.argsÔ   s‚   € à˜$Ÿ+™+˜Ð'Ð(ˆØ�>�>Ø�K‰K˜.¨¯©Ð(8Ð9Ô:Ø××Ø—>—>Ð!�>Ø×,Ñ,×2Ñ2Ö4‘�Ø—‘˜n¨Q¨C¨q°°Ð4Ö5ñ 5àˆr   c                ó   • U R                   S L$ r‰   )r™   r~   s    r   Úis_cudaÚHalideMeta.is_cudaß   s   € Ø×Ñ tÐ+Ð+r   r   )rk   z	list[str]r�   )r   r   r   r   rm   r—   r˜   r™   rž   r£   r   r   r   r   r“   r“   Í   s6   ‡ Ø#Ó#ØƒKØ €IˆzÓ Ø37€OÐ0Ó7Ø"€K�Ó"ô	÷,r   r“   )NN)!Ú
__future__r   Úcollectionsro   ÚtypingÚenumr   r   r]   Útorch.utils._tritonr   r_   rY   ÚTRITON_MAX_BLOCKÚTRITON_MAX_RSPLITr   r!   ÚtritonÚtriton.backends.compilerÚtriton.compiler.compilerÚhasattrÚbackendsÚcompilerr$   r2   Ú
namedtupleÚ_NUM_THREADS_PER_WARPr8   rB   Ú
NamedTuplerH   rr   r“   r   r   r   Ú<module>rµ      sQ  ðå "ã Û Û ß ã Ý 2ð —‘×"×"‰¨Ø	Ø	ØØñÐ ð Ð ô�Dô ôˆtô ñ ×ÑÛÛ#Û#áˆv�‰×'Ñ'Ð):×;Ñ;å<ð !Øõ	ñ$ 
�—‘×)Ñ)Ð+<×	=Ñ	=å<ð !Øõ	-ð( !Øõ	Nð )×3Ò3àØ	˜LÐ)Ø�b�ñ	Ðð Ð ô�Dô ô�4ô ô/
�v×(Ñ(ô /
ôd&�f×'Ñ'ô &ô6,�×"Ñ"õ ,r   