K iddlmZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddlmZddlmZ d dZej&d d Zdd Z d dd Zy)) annotationsN) ModuleType)get_cache_manager)knobsctjjx}r |||||||Stjd}t j j|dj||} t jjd} | =tjd} tjd} | | n| } | tdttdrtj} ntj } | d k(rd } tj"| d }tjj$}|||g|z}| |d dddd| g}||Dcgc]}d| c}z }||Dcgc]}d| c}z }||Dcgc] }|d| c}z }|j'|t)j*|t(j,| Scc}wcc}wcc}w)N EXT_SUFFIXz{name}{suffix})namesuffixCCclanggcczeFailed to find C compiler. Please specify via CC environment variable or set triton.knobs.build.impl.get_default_scheme posix_local posix_prefix)schemeincludez-O3z-sharedz-fPICz -Wno-psabiz-oz-lz-Lz-I)stdout)rbuildimpl sysconfigget_config_varospathjoinformatenvirongetshutilwhich RuntimeErrorhasattrr_get_default_scheme get_paths backend_dirsextend subprocess check_callDEVNULL)r srcsrcdir library_dirs include_dirs librariesccflagsrr soccrrrpy_include_dircustom_backend_dirscc_cmdlibdirs Z/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/triton/runtime/build.py_buildr9s{{tD#v|\9MM  % %l 3F f.5545O PB  B z W%ll5!OS :wy yy./--/..0((7 BN++226>"Prr;s r8 platform_keyrA7s'66 88WY:<>: ;;ctjj||}|r |jst d|d|tjj |}|jj ||S)NzFailed to load newly compiled z from ) importlibutilspec_from_file_locationloaderr"module_from_spec exec_module)r rspecmods r8_load_module_from_pathrL=se >> 1 1$ =D t{{;D6vNOO .. ) )$ /CKKC JrBc ptj|tzjdj }t |}t jd}|j||} | t|| St!j"5} t$j&j)| |dz} t+| d5} | j-|dddt/|| | |xsg|xsg|xsg|xsg}t+|d5} |j1| j3||d } ddddddt|| S#ttf$r2tjt} | jd|dYwxYw#1swYxYw#1swYmxYw#1swYqxYw) Nzutf-8r z$Triton cache error: compiled module z.so could not be loadedz.cwrbT)binary)hashlibsha256rAencode hexdigestrrrget_filerLr" ImportErrorlogging getLogger__name__warningtempfileTemporaryDirectoryrrropenwriter9putread)r+r r-r.r/r0keycacher cache_pathlogtmpdirsrc_pathfr1s r8compile_module_from_srcrhFs ..# .66w? @ J J LC c "E  % %l 3F4& 12J ^)$ ; ;  $ $ &M&77<<t 4 (C  A GGCL  D(FL,>B @RPRT]Tcacelerpr s "d^ Mq1668vfX->tLJ M M "$ 33k* ^##H-C KK>tfD[\ ] ^    M M MMsN6 E0F,F5F, 'F 4F,=FFF F, F) %F,,F5)r strr+rir,rir- list[str]r.rjr/rjr0rjreturnri)rkri)r rirrirkr)NNNN)r+rir rir-list[str] | Noner.rlr/rlr0rlrkr) __future__r functoolsrQimportlib.utilrDrWrr r(rr[typesrrbrrr9 lru_cacherArLrhrBr8rts" $!!"%!H << SWae8<4*:4N^4%54AK4rB