DeepMind khoutu e bulehileng ea S6, lilaebrari tse nang le ts'ebetso ea motlalehi oa JIT bakeng sa CPython

DeepMind, e tsejoang ka tsoelo-pele ea eona lefapheng la bohlale ba maiketsetso, e hlahisitse morero oa S6 o bulehileng, o hlahisitseng moqapi oa JIT bakeng sa puo ea Python. Morero o thahasellisa hobane o entsoe e le laebrari ea katoloso e ka kopanngoang le CPython e tloaelehileng, e fanang ka tumellano e feletseng le CPython 'me ha e hloke ho fetoloa ha khoutu ea mofetoleli. Morero ona esale o nts'etsapele ho tloha ka 2019, empa ka bomalimabe o ile oa fokotsoa mme ha o sa nts'etsapele. Kaha tsoelo-pele e entsoeng e ka ba molemo bakeng sa ho ntlafatsa Python, ho ile ha etsoa qeto ea ho bula litemana tsa mohloli. Khoutu ea komporo ea JIT e ngotsoe ka C ++, e ipapisitse le CPython 3.7. 'me e butsoe tlas'a laesense ea Apache 2.0.

S6 bakeng sa Python e bapisoa le enjene ea V8 bakeng sa JavaScript ho latela mesebetsi eo e e rarollang. Laeborari e nkela sebaka sa mofetoleli ea teng oa ceval.c bytecode ka ts'ebetsong ea eona e sebelisang pokello ea JIT ho potlakisa ts'ebetso. S6 e hlahloba hore na mosebetsi oa hona joale o se o hlophisitsoe 'me, haeba ho joalo, o phethahatsa khoutu e hlophisitsoeng,' me haeba ho se joalo, e sebetsa ka mokhoa oa tlhaloso ea bytecode e tšoanang le mofetoleli oa CPython. Tlhaloso e bala palo ea litaelo tse phethiloeng le mehala e amanang le ts'ebetso e ntseng e sebetsoa. Ka mor'a ho finyella ntho e itseng ea bohlokoa, mokhoa oa ho bokella o qala ho potlakisa khoutu e atisang ho etsoa. Ho bokelloa ho etsoa ka boemeli ba mahareng ba strongjit, boo, ka mor'a ho ntlafatsa, bo fetoloang hore e be litaelo tsa mochine oa tsamaiso ea sepheo ka ho sebelisa laebrari ea asmjit.

Ho itšetlehile ka mofuta oa mojaro, tlas'a maemo a nepahetseng, S6 e bontša ho eketseha ha lebelo la ho etsa liteko ho fihlela makhetlo a 9.5 ho bapisoa le CPython e tloaelehileng. Ha ho etsoa li-iterations tse 100 tsa tlhahlobo ea liteko tsa Richards, ho na le ho potlakisa makhetlo a 7, 'me ha ho etsoa tlhahlobo ea Raytrace, e nang le palo e kholo ea lipalo tsa lipalo, ke makhetlo a 3-4.5 ka potlako.

Mesebetsi eo ho leng thata ho e ntlafatsa ka S6 ke merero e sebelisang C API, joalo ka NumPy, hammoho le ts'ebetso e amanang le tlhoko ea ho lekola mefuta ea palo e kholo ea boleng. Ts'ebetso e mpe e boetse e hlokomeloa bakeng sa mehala e le 'ngoe ea mesebetsi e matla ea lisebelisoa ka lebaka la ts'ebeliso ea ts'ebetso ea S6 e sa ntlafatsoang ea mofetoleli oa Python (ntlafatso ha e so fihle boemong ba ho toloka mokhoa oa ho fetolela). Mohlala, tekong ea Sequence ea Unpack, e notlollang lihlopha tse kholo tsa li-arrays / tuples, ka mohala o le mong, ho bonoa ho fokotseha ho fihlela makhetlo a 5, 'me ka mohala oa cyclic, ts'ebetso ke 0.97 ho tloha CPython.

Source: opennet.ru

Eketsa ka tlhaloso