DeepMind le stòr fosgailte S6, leabharlann le buileachadh cruinneachaidh JIT airson CPython

Tha DeepMind, a tha ainmeil airson a leasachaidhean ann an raon inntleachd fuadain, air còd stòr pròiseact S6 fhosgladh, a leasaich inneal-cruinneachaidh JIT airson cànan Python. Tha am pròiseact inntinneach leis gu bheil e air a dhealbhadh mar leabharlann leudachaidh a tha a’ fighe a-steach le CPython àbhaisteach, a’ dèanamh cinnteach gu bheil làn cho-chòrdalachd le CPython agus gun fheum air còd an eadar-mhìneachaidh atharrachadh. Tha am pròiseact air a bhith a’ leasachadh bho 2019, ach gu mì-fhortanach chaidh a stad agus chan eil e a’ leasachadh tuilleadh. Leis gum faodadh na leasachaidhean a chaidh a chruthachadh a bhith feumail airson Python a leasachadh, chaidh co-dhùnadh an còd fhosgladh. Tha an còd cruinneachaidh JIT sgrìobhte ann an C ++ agus tha e stèidhichte air CPython 3.7. agus tha e fosgailte fo chead Apache 2.0.

A thaobh nan gnìomhan as urrainn dha fhuasgladh, tha S6 airson Python an coimeas ris an einnsean V8 airson JavaScript. Bidh an leabharlann a’ dol an àite an inneal-làimhseachaidh eadar-mhìneachaidh bytecode ceval.c leis a bhuileachadh fhèin a bhios a’ cleachdadh cruinneachadh JIT gus coileanadh a luathachadh. Bidh S6 a’ dèanamh sgrùdadh a bheil an gnìomh làithreach air a chur ri chèile mu thràth agus, ma tha, a’ cur an gnìomh a’ chòd cruinnichte, agus mura h-eil, a’ ruith a’ ghnìomh ann am modh eadar-mhìneachaidh bytecode, coltach ris an eadar-theangair CPython. Rè eadar-mhìneachaidh, thathas a’ cunntadh an àireamh de stiùiridhean agus fiosan gnìomhaichte co-cheangailte ris a’ ghnìomh a thathar a’ giullachd. Às deidh dha clach-mhìle sònraichte a ruighinn, thèid pròiseas cruinneachaidh a thòiseachadh gus còd a thèid a chuir gu bàs gu tric a luathachadh. Tha cruinneachadh air a dhèanamh ann an riochdachadh làidirjit eadar-mheadhanach, a tha, às deidh optimization, air a thionndadh gu stiùireadh inneal den t-siostam targaid a ’cleachdadh an leabharlann asmjit.

A rèir nàdar an eallach obrach, tha S6 fo na suidheachaidhean as fheàrr a’ nochdadh àrdachadh ann an astar coileanadh deuchainn suas ri 9.5 uair an taca ri CPython àbhaisteach. Nuair a bhios tu a’ ruith 100 tionndadh de shreath deuchainn Richards, thathas a’ cumail sùil air astar 7x, agus nuair a thathar a’ ruith an deuchainn Raytrace, a tha a’ toirt a-steach mòran àireamhachadh matamataigeach, thathas a’ cumail sùil air astar 3-4.5x.

Am measg nan gnìomhan a tha duilich a bharrachadh le bhith a’ cleachdadh S6 tha pròiseactan a bhios a’ cleachdadh an API C, leithid NumPy, a bharrachd air gnìomhachd co-cheangailte ris an fheum air sgrùdadh a dhèanamh air na seòrsaichean de àireamh mhòr de luachan. Thathas cuideachd a’ cumail sùil air coileanadh ìosal airson gairmean singilte de ghnìomhan dian-ghoireasan mar thoradh air a bhith a’ cleachdadh buileachadh neo-leasaichte S6 fhèin den eadar-theangair Python (chan eil an leasachadh air ìre a’ mhodh eadar-mhìneachaidh a mheudachadh). Mar eisimpleir, anns an deuchainn Unpack Sequence, a bhios a’ dì-phapadh seataichean mòra de arrays / tuples, le aon ghairm tha slaodachadh suas ri 5 tursan, agus le gairm cearcallach tha an coileanadh aig 0.97 bho CPython.

Source: fosgailtenet.ru

Cuir beachd ann