డీప్‌మైండ్ ఓపెన్ సోర్స్డ్ S6, CPython కోసం JIT కంపైలర్ అమలుతో కూడిన లైబ్రరీ

ఆర్టిఫిషియల్ ఇంటెలిజెన్స్ రంగంలో దాని అభివృద్ధికి ప్రసిద్ధి చెందిన డీప్‌మైండ్, S6 ప్రాజెక్ట్ యొక్క సోర్స్ కోడ్‌ను తెరిచింది, ఇది పైథాన్ భాష కోసం JIT కంపైలర్‌ను అభివృద్ధి చేసింది. ప్రాజెక్ట్ ఆసక్తికరంగా ఉంది ఎందుకంటే ఇది ప్రామాణిక CPythonతో అనుసంధానించే పొడిగింపు లైబ్రరీగా రూపొందించబడింది, CPythonతో పూర్తి అనుకూలతను నిర్ధారిస్తుంది మరియు ఇంటర్‌ప్రెటర్ కోడ్‌ను సవరించాల్సిన అవసరం లేదు. ప్రాజెక్ట్ 2019 నుండి అభివృద్ధి చెందుతోంది, కానీ దురదృష్టవశాత్తు ఇది నిలిపివేయబడింది మరియు ఇకపై అభివృద్ధి చెందడం లేదు. సృష్టించిన అభివృద్ధి పైథాన్‌ని మెరుగుపరచడానికి ఉపయోగపడుతుంది కాబట్టి, కోడ్‌ని ఓపెన్ సోర్స్ చేయాలని నిర్ణయించారు. JIT కంపైలర్ కోడ్ C++లో వ్రాయబడింది మరియు CPython 3.7పై ఆధారపడి ఉంటుంది. మరియు Apache 2.0 లైసెన్స్ క్రింద ఓపెన్ సోర్స్ చేయబడింది.

ఇది పరిష్కరించగల పనుల పరంగా, పైథాన్ కోసం S6 జావాస్క్రిప్ట్ కోసం V8 ఇంజిన్‌తో పోల్చబడుతుంది. లైబ్రరీ ఇప్పటికే ఉన్న బైట్‌కోడ్ ఇంటర్‌ప్రెటర్ హ్యాండ్లర్ ceval.cని దాని స్వంత అమలుతో భర్తీ చేస్తుంది, ఇది అమలును వేగవంతం చేయడానికి JIT సంకలనాన్ని ఉపయోగిస్తుంది. S6 ప్రస్తుత ఫంక్షన్ ఇప్పటికే కంపైల్ చేయబడిందో లేదో తనిఖీ చేస్తుంది మరియు అలా అయితే, కంపైల్ చేయబడిన కోడ్‌ని అమలు చేస్తుంది మరియు కాకపోతే, CPython ఇంటర్‌ప్రెటర్ మాదిరిగానే ఫంక్షన్‌ను బైట్‌కోడ్ ఇంటర్‌ప్రెటేషన్ మోడ్‌లో అమలు చేస్తుంది. వివరణ సమయంలో, ప్రాసెస్ చేయబడిన ఫంక్షన్‌తో అనుబంధించబడిన అమలు చేయబడిన సూచనలు మరియు కాల్‌ల సంఖ్య లెక్కించబడుతుంది. ఒక నిర్దిష్ట మైలురాయిని చేరుకున్న తర్వాత, తరచుగా అమలు చేయబడిన కోడ్‌ను వేగవంతం చేయడానికి సంకలన ప్రక్రియ ప్రారంభించబడుతుంది. సంకలనం ఒక ఇంటర్మీడియట్ స్ట్రాంగ్‌జిట్ ప్రాతినిధ్యంగా నిర్వహించబడుతుంది, ఇది ఆప్టిమైజేషన్ తర్వాత, asmjit లైబ్రరీని ఉపయోగించి లక్ష్య వ్యవస్థ యొక్క యంత్ర సూచనలుగా మార్చబడుతుంది.

పనిభారం యొక్క స్వభావాన్ని బట్టి, సరైన పరిస్థితుల్లో S6 సాధారణ CPythonతో పోలిస్తే 9.5 రెట్లు వరకు పరీక్ష అమలు వేగం పెరుగుదలను ప్రదర్శిస్తుంది. రిచర్డ్స్ టెస్ట్ సూట్ యొక్క 100 పునరావృత్తులు అమలు చేస్తున్నప్పుడు, 7x స్పీడప్ గమనించబడుతుంది మరియు పెద్ద మొత్తంలో గణిత గణనలను కలిగి ఉన్న రేట్రేస్ పరీక్షను అమలు చేస్తున్నప్పుడు, 3-4.5x స్పీడప్ గమనించబడుతుంది.

S6ని ఉపయోగించి ఆప్టిమైజ్ చేయడం కష్టతరమైన పనులలో NumPy వంటి C APIని ఉపయోగించే ప్రాజెక్ట్‌లు, అలాగే పెద్ద సంఖ్యలో విలువల రకాలను తనిఖీ చేయవలసిన అవసరానికి సంబంధించిన కార్యకలాపాలు ఉన్నాయి. పైథాన్ ఇంటర్‌ప్రెటర్ (అభివృద్ధి ఇంటర్‌ప్రెటేషన్ మోడ్ యొక్క ఆప్టిమైజేషన్ దశకు చేరుకోలేదు) S6 యొక్క స్వంత అన్‌ప్టిమైజ్డ్ ఇంప్లిమెంటేషన్‌ని ఉపయోగించడం వలన రిసోర్స్-ఇంటెన్సివ్ ఫంక్షన్‌ల సింగిల్ కాల్‌లకు కూడా తక్కువ పనితీరు గమనించబడుతుంది. ఉదాహరణకు, అన్‌ప్యాక్ సీక్వెన్స్ టెస్ట్‌లో, పెద్ద సెట్‌ల శ్రేణులు/టుపుల్‌లను అన్‌ప్యాక్ చేస్తుంది, ఒకే కాల్‌తో 5 సార్లు మందగింపు ఉంటుంది మరియు సైక్లిక్ కాల్‌తో CPython నుండి 0.97 పనితీరు ఉంటుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి