K iGd,d-eZ?ed.d/0Z@Gd1d/ZAGd2d3eZBGd4d5eAZCGd6d7eAZDd8e)d9<Gd:d8eAZEGd;deAZGGd?d@eZHGdAdBeZIedCe0ZJGdDdEeeJZKeLee1e6fZMGdFdGeZNGdHdIeZOGdJdKeAZPGdLdMeAZQGdNdOeAZRGdPdQeAZSGdRdSeAZTeCZUeDZVeEZWeFZXeGZYePZZeQZ[eRZ\eSZ]eTZ^dTZ_y)W) annotationsN) dataclass)contextmanager) castAnyCallable GeneratorGenericOptionalProtocolTypeTypeVar TypedDict TYPE_CHECKINGUnion)getenv getenv_bool) CacheManagerRemoteCacheBackend)JitFunctionInfo KernelParam) ASTSourceLazyDictIRSourcec eZdZy)EnvN)__name__ __module__ __qualname__R/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/triton/knobs.pyrrsr"rTbool propagate_envctsy||tj|<y|tjvrtj|=yyN)r%osenviron)keyvalues r#setenvr,s7   3   JJsO r"c~|yt|}|tur|rdfSdfS|tur|fS|tur t|fSy)Nr'10)typer$strint)valts r#toenvr5)sQ { S ADy&&&&CxwCxC| r"SetTypeGetTypecDeZdZd dZd dZd dZd dZd dZddZddZ y)env_basec||_yr')r*)selfr*s r#__init__zenv_base.__init__Ds r"c||_yr')name)r;objclassr>s r# __set_name__zenv_base.__set_name__Gs  r"c|jj|jt}|tur|jS|j |Sr')__dict__getr>_NOTHING transform)r;objr?py_vals r#__get__zenv_base.__get__Js?!!$))X6 X 88: ~~f%%r"ctr')NotImplementedErrorr;s r#rCz env_base.getPs !##r"ct|tr'|jj|jdy||j|j<t |x}rt |j|dyy)Nr) isinstancerrBpopr>r5r,r*)r;rFr+env_vals r#__set__zenv_base.__set__Ss\ eS ! LL  TYY -&+CLL #,&w&txx,'r"cP|jj|jdyr')rBrNr>)r;rFs r# __delete__zenv_base.__delete__[s D)r"c"tt|Sr')rr7)r;r3s r#rEzenv_base.transform^sGS!!r"N)r*r1returnNone)r?z Type[object]r>r1rTrU)rFOptional[object]r?zOptional[Type[object]]rTr7)rTr7)rFobjectr+zUnion[SetType, Env]rTrU)rFrWrTrU)r3r6rTr7) rrr r<r@rHrCrPrRrEr!r"r#r9r9Bs%& $-*"r"r9c(eZdZdfd ZddZxZS)env_strc2t||||_yr'superr<defaultr;r*r] __class__s r#r<zenv_str.__init__f  r"cBt|j|jSr')rr*r]rKs r#rCz env_str.getjsdhh --r")r*r1r]r1rTr1rrr r<rC __classcell__r_s@r#rYrYds .r"rYc(eZdZdfd ZddZxZS)env_str_callable_defaultc2t||||_yr')r\r<default_factory)r;r*rir_s r#r<z!env_str_callable_default.__init__ps .r"cTt|j}||jS|Sr')rr*ri)r;rOs r#rCzenv_str_callable_default.getts)" ?'') )r")r*r1rizCallable[[], str]rbrcres@r#rgrgns /r"rgc*eZdZddfd ZddZxZS)env_boolc2t||||_yr'r[r^s r#r<zenv_bool.__init__}r`r"cBt|j|jSr')rr*r]rKs r#rCz env_bool.gets488T\\22r"F)r*r1r]r$rTrU)rTr$rcres@r#rlrl{s 3r"rlc*eZdZddfd ZddZxZS)env_intc2t||||_yr'r[r^s r#r<zenv_int.__init__r`r"ct|j}| |jS t|S#t$r"}t d|jd|d|d}~wwxYw)NzUnable to use =z: expected int)rr*r]r2 ValueError RuntimeError)r;r3excs r#rCz env_int.getsaTXX ;<<  Ys8O Yz3%~NOUX X Ys 0 AAA)r)r*r1r]r2rTrUrTr2rcres@r#rqrqsYr"rq ClassTypec(eZdZdfd ZddZxZS) env_classc2t||||_yr')r\r<r0)r;r*r0r_s r#r<zenv_class.__init__s  r"c tj}|y|jdd}t|dk7rt djd|dt t j|d|d}tfd|jDs)t d |d jd jd ttt|S) N:rzUnable to read z: 'z ' isn't of the form MODULE:CLASSrc3PK|]}|jjk(ywr')rr0).0cr;s r# z env_class.get..s?AJJ$))+?s#&zUnable to use 'z' from z: not of type '')rr*splitlenrvgetattr importlib import_moduleanymror0rr ry)r;r3compsclss` r#rCz env_class.getsTXX ; #q! u:? #cUBbcd di--eAh7qB?SWWY?@WTXXJoVZV_V_U``abc cDOS))r")r*r1r0r1rTrU)rTzOptional[Type[ClassType]]rcres@r#r{r{s  *r"r{cReZdZUded<ded<eej ddZy) NvidiaToolr1pathversionc6 tj|dgtj}tjd|j dtj }|yt||jdS#tjtf$rYywxYw)Nz --version)stderrz.*release (\d+\.\d+).*zutf-8)flagsr) subprocess check_outputSTDOUTresearchdecode MULTILINErgroupCalledProcessErrorFileNotFoundError)rresultrs r# from_pathzNvidiaTool.from_paths ,,dK-@IZIZ[Fii 96==;QY[YeYefGdGMM!$45 5--/@A  sAA<!A<<BBN)rr1rTzOptional[NvidiaTool])rrr __annotations__ staticmethod functools lru_cacherr!r"r#rrs, I Lr"rc0eZdZdfd ZddZddZxZS)env_nvidia_toolc|tjdz }||_tjj tjj tddd||_t|)d|jdy)NEXEbackendsnvidiabinTRITON__PATH) sysconfigget_config_varbinaryr(rjoindirname__file__ default_pathr\r<upper)r;rr_s r#r<zenv_nvidia_tool.__init__si)**511 GGLL)BJPXZ_agh 76<<>"2%89r"cJ|jt|jSr')rErr*rKs r#rCzenv_nvidia_tool.gets~~fTXX.//r"c|||jg}n |jg}|D]}tj|x}s|cStd|j)Nz Cannot find )rrrrvr)r;rpathstools r#rEzenv_nvidia_tool.transformsj  4,,-E&&'E D!++D11t1  \$++788r")rr1rTrU)rTr)rr1rTr)rrr r<rCrErdres@r#rrs: 0 9r"rceZdZddZy) env_opt_strc,t|jSr')rr*rKs r#rCzenv_opt_str.getsdhhr"NrT Optional[str]rrr rCr!r"r#rrs r"rceZdZddZy) env_opt_boolc.t|jdSr')rr*rKs r#rCzenv_opt_bool.gets488T**r"Nrrr!r"r#rrs+r"r)frozencTeZdZUdZded<ded<ded<ed dZed dZy ) CompileTimeszm Model holding timing information for an invocation of the compiler. All times in microseconds. r2ir_initializationzlist[tuple[str, int]]lowering_stages store_resultsc:td|jDS)Nc3&K|] }|d yw)rNr!)rstages r#rz.CompileTimes.total_lowering..s?E!H?s)sumrrKs r#total_loweringzCompileTimes.total_lowerings?$*>*>?@@r"cN|j|jz|jzSr')rrrrKs r#totalzCompileTimes.totals$%%(;(;;d>P>PPPr"Nrx)rrr __doc__rpropertyrrr!r"r#rrsI+* AAQQr"rc eZdZ ddZy)CompilationListenercyr'r!)r;srcmetadatametadata_grouptimes cache_hits r#__call__zCompilationListener.__call__ r"N) rzUnion[ASTSource, IRSource]rdict[str, Any]rdict[str, str]rrrr$rTrUrrr rr!r"r#rrs $ 15 :> r"r knobs_type base_knobs)boundcReZdZeddZeddZd dZd dZed dZ y) rct|jjDcic]\}}t|tr||c}}Scc}}wr')r0rBitemsrMr9)r;kvs r#knob_descriptorszbase_knobs.knob_descriptorssK T ++113 1!X& qD   sAcr|jjDcic]}|t||c}Scc}wr')rkeysr)r;rs r#knobszbase_knobs.knobss1-1-B-B-G-G-IJ74##JJJs4cpt|}|jj|j|Sr')r0rBupdate)r;ress r#copyzbase_knobs.copys*d4jl DMM* r"c\|jjD]}t|||Sr')rrdelattr)r;knobs r#resetzbase_knobs.reset s/))..0 D D$   r"c#K |jjDcic]"}|jt|j$}}t |j }d|j j |j j||jD]?\}}||tj|<|tjvs/tj|=Aycc}w#|j j |j jjD]?\}}||tj|<|tjvs/tj|=AwxYwwr') rvaluesr*rdictrBclearrrr(r))r;r initial_envorigrrs r#scopezbase_knobs.scope%s% &BFBWBWB^B^B`a$488VDHH%55aKa &D  MM   ! MM  &#))+ &1=$%BJJqM"**_ 1  &b MM   ! MM  &#))+ &1=$%BJJqM"**_ 1  &s;E;C/'C*C/"A3E;E;*C//A4E8$E88E;N)rTzdict[str, env_base])rTr)r;rrTr)rTzGenerator[None, None, None]) rrr rrrrrrrr!r"r#rr sH   KK   & &r"ceZdZ ddZy) BuildImplcyr'r!)r;r>rsrcdir library_dirs include_dirs librariess r#rzBuildImpl.__call__8rr"N)r>r1rr1rr1r list[str]rrrrrTr1rr!r"r#rr6s % -0 r"rceZdZUdZedZded<edZded<edZded<d Z d ed <e d d Z y ) build_knobszzcache_knobs.Ws5CWCWX^C_r"TRITON_OVERRIDE_DIRc,tjdS)Noverriderr!r"r#r zcache_knobs.Xs5K_K_`jKkr"TRITON_CACHE_DIRc,tjdS)Nrrr!r"r#r zcache_knobs.Ysu?S?ST[?\r"TRITON_CACHE_MANAGERrzenv_class[CacheManager] manager_classTRITON_REMOTE_CACHE_BACKENDrzenv_class[RemoteCacheBackend]remote_manager_classcXtjj|jd|S)Nz.triton)r(rrr)r;rs r#rzcache_knobs.get_triton_dir^sww||DMM9g>>r"N)rr1rTr1)rrr rYr(r expanduserrrrgdump_dir override_dirdirr{r'r)rr!r"r#rrTsy rww/A/A$/GHHgH'(9;_`H+,ACklL "#57\ ]C-67M~-^M*^:CDacw:x7x?r"c eZdZUedZded<edZded<edZded<edZded <e d Z d ed <ed Z ded<edZ ded<edZ ded<edZded<edZded<dZded<y)compilation_knobsTRITON_KERNEL_OVERRIDErlr#TRITON_KERNEL_DUMPdump_irTRITON_STORE_BINARY_ONLYstore_binary_onlyTRITON_ALWAYS_COMPILEalways_compile USE_IR_LOCr use_ir_locTRITON_ENABLE_ASAN enable_asanTRITON_DISABLE_LINE_INFOdisable_line_infoTRITON_FRONT_END_DEBUGGINGfront_end_debugging"TRITON_ALLOW_NON_CONSTEXPR_GLOBALSallow_non_constexpr_globals!TRITON_ENABLE_EXPERIMENTAL_CONSANenable_experimental_consanNz Union[CompilationListener, None]listener)rrr rlr#rr3r5r7rr9r;r=r?rArCrDr!r"r#r0r0bs!":;Hh; !56GX6"*+E"FxF'(?@NH@),7J 7$%9:K:"*+E"FxF$,-I$JJ,45Y,ZZ+34W+XX15H.5r"r0cBeZdZUedZded<edZded<y)autotuning_knobsTRITON_CACHE_AUTOTUNINGrlrTRITON_PRINT_AUTOTUNINGprintN)rrr rlrrrIr!r"r#rFrFqs"89E8989E89r"rFceZdZdZddZy) LaunchHookz3Hook invoked before and after kernel launching cyr'r!)r;rs r#rzLaunchHook.__call__zs r"N)rrrTrUrrr rrr!r"r#rKrKvs  r"rKc0eZdZdZ ddZy)InitHandleHookz}Hook invoked around kernel binary/module loading. module/function can be None for the *start* hook (before loading). cyr'r!)r;modulefunctionr>rhashs r#rzInitHandleHook.__call__s r"N) rQrVrRzOptional[Callable]r>r1rrrSr1rTrUrMr!r"r#rOrO~sF   %   '      r"rOFc0eZdZdZdddZd dZd dZdZy) HookChainz?A chain of hooks of the same type F to be called in order. c g|_||_yr')callsreversed)r;rYs r#r<zHookChain.__init__s    r"cX||jvr|jj|yyr')rXappendr;funcs r#addz HookChain.adds% tzz ! JJ  d # "r"cX||jvr|jj|yyr')rXremover\s r#r`zHookChain.removes% 4::  JJ  d # r"cx|js |jnt|jD] }||i| yr')rYrX)r;argskwargscalls r#rzHookChain.__call__s3&*mmDJJ$**9M "D $ !& ! "r"Nro)rYr$)r]rTrTrU)rrr rr<r^r`rr!r"r#rVrVs!$$"r"rVceZdZUded<ded<ded<ded<ded <ded <ded <d ed <d ed<ded<ded<ded<d ed<y)JITHookCompileInfor1r*zdict[KernelParam, str] signaturer2devicerU constants num_warpsnum_ctas num_stagesr$enable_fp_fusionlaunch_cooperative_gridztuple[tuple[str, str], ...] extern_libsz-list[dict[tuple[int, ...], list[KernelAttr]]]configsspecialization_data is_warmupN)rrr rr!r"r#rfrfsI H%% KONMO!!,, ::Or"rfceZdZ ddZy)JITHookcyr'r!)r;r*reprfncompileis_manual_warmupalready_compileds r#rzJITHook.__call__rr"N)r*r1rvr1rwrrxrfryr$rzr$rTzOptional[bool]rr!r"r#rtrts #' ,: r"rtceZdZUedZded<edj Zded<edZ ded <e Z d ed <e d Z d ed<e Z ded<e d Zded<dZded<dZded<y) runtime_knobsTRITON_INTERPRETrl interpret TRITON_DEBUGr$debugTRITON_OVERRIDE_ARCHr override_archzHookChain[LaunchHook]launch_enter_hookT)rYlaunch_exit_hookzHookChain[InitHandleHook]kernel_load_start_hookkernel_load_end_hookNzOptional[JITHook]jit_cache_hookjit_post_compile_hook)rrr rlr~rrCrrrrVrrrrrrr!r"r#r|r|s"#56Ix6>*..0E40!,-C!DM;D/8{,:.7.F+F8A 5C6?6N3N)-N%,04,3r"r|cDeZdZUedZded<eddZded<y) language_knobsTRITON_F32_DEFAULTr fp32_defaultTRITON_DEFAULT_FP_FUSIONTrldefault_fp_fusionN)rrr rrrrlrr!r"r#rrs% +,@ AL+A"*+Et"LxLr"rceZdZUedZded<edZded<edZded<edZ ded<edZ ded <e d Z d ed <ed Z ded<e dZd ed<e dZd ed<y) nvidia_knobs cuobjdumprnvdisasmptxasNVPTX_ENABLE_DUMPrl dump_nvptxDISABLE_PTXAS_OPTdisable_ptxas_optTRITON_MOCK_PTX_VERSIONrmock_ptx_versionTRITON_DUMP_PTXAS_LOGdump_ptxas_logTRITON_LIBDEVICE_PATHlibdevice_pathTRITON_LIBCUDA_PATH libcuda_pathN)rrr rrrrrrlrrrrrrrr!r"r#rrs!0!=I= / ;Ho;,W5E?5#$78J8"*+>"?x?$/0I$JkJ'(?@NH@"-.E"FNKF +,A BL+Br"rceZdZUedZded<eddZded<edZded<ed Z d ed <e d Z d ed<e dZ d ed<e dZded<e dZded<edZded<edZded<y) amd_knobsAMDGCN_USE_BUFFER_OPSrluse_buffer_opsAMDGCN_USE_BUFFER_ATOMICSTuse_buffer_atomicsAMDGCN_ENABLE_DUMP dump_amdgcnTRITON_LIBHIP_PATHr libhip_pathTRITON_HIP_USE_BLOCK_PINGPONGruse_block_pingpong"TRITON_HIP_USE_IN_THREAD_TRANSPOSEuse_in_thread_transposeTRITON_HIP_GLOBAL_PREFETCHrqglobal_prefetchTRITON_HIP_LOCAL_PREFETCHlocal_prefetchTRITON_HIP_USE_ASYNC_COPYuse_async_copyAMDGCN_SCALARIZE_PACKED_FOPSscalarize_packed_fopsN)rrr rlrrrrrrrrrrqrrrrr!r"r#rrs'(?@NH@#+,G#NN$%9:K:*+?@K@(44S'T T,89],^\^&'CDOWD%&ABNGB'(CDNHD&./M&N8Nr"rc(eZdZUedZded<y) proton_knobsTRITON_CUPTI_LIB_PATHr cupti_dirN)rrr rrrr!r"r#rrs()@AI{Ar"rcHtdjt_y)Nr)rlrCruntimerr!r"r# refresh_knobsr s^,002GMr")r*r1r+rrTrU)r3rrTz!Union[None, tuple[Optional[str]]])` __future__rrrr(rrr dataclassesr contextlibrtypingrrrr r r r r rrrrtriton._C.libtritonrr runtime.cacherr runtime.jitrrcompiler.compilerrrrrenvr%rr,r5r6r7rWrDr9r1rYrgr$rlr2rqryr{rrrrrrrrrrrrr0rFrKrOrTrVlist KernelAttrrfrtr|rrrrbuildredisr compilation autotuningrlanguageramdprotonrr!r"r#rs" !%~~~~3?9@@   e t& )  )  8"ww'("D.hsCx . xS1 3xd #3 YhsCx Y K * "HXd9o-FQUV_Q`Ha-a$b*,  "9hsJ/96 (8C=(3-78 +8+  $QQQ4 ( \ 6 '&'&T   \* \7*7  ?* ? 6 6:z:     X   Cx " ".%S/ "     h 4J4&MZM C: CO O"B:B    !   /   k 3r"