LLVM ፈጣሪ አዲስ የሞጆ ፕሮግራሚንግ ቋንቋን አዳብሯል።

የኤልኤልቪኤም መስራች እና ዋና አርክቴክት እና የስዊፍት ፕሮግራሚንግ ቋንቋ ፈጣሪ ቲም ዴቪስ እና እንደ Tensorflow እና JAX ያሉ የጉግል AI ፕሮጄክቶች የቀድሞ ኃላፊ ቲም ዴቪስ አዲስ የሞጆ ፕሮግራሚንግ ቋንቋ አስተዋውቀዋል ለ R&D የአጠቃቀም ቀላልነትን እና ፈጣን ፕሮቶታይምን ከ ጋር ያዋህዳል። ለከፍተኛ አፈፃፀም የመጨረሻ ምርቶች ተስማሚነት። የመጀመሪያው የፒቲን ቋንቋ በሚታወቀው አገባብ የተገኘ ሲሆን ሁለተኛው ደግሞ የማሽን ኮድ በማዘጋጀት ችሎታ፣ ደህንነቱ የተጠበቀ ማህደረ ትውስታ አያያዝ ዘዴዎች እና የሃርድዌር ስሌትን ለማፋጠን የሚረዱ መሳሪያዎችን በመጠቀም ነው።

ፕሮጀክቱ ለማሽን መማሪያ ልማት ጥቅም ላይ ያተኮረ ቢሆንም የፒቲን ቋንቋን በስርዓተ-ፕሮግራም አወጣጥ አቅምን የሚያሰፋ እና ለብዙ ተግባራት ተስማሚ የሆነ አጠቃላይ ዓላማ ቋንቋ ሆኖ ቀርቧል። ለምሳሌ ቋንቋው እንደ ከፍተኛ አፈጻጸም ማስላት፣ ዳታ ማቀናበር እና ትራንስፎርሜሽን ባሉ ዘርፎች ላይ ተፈጻሚ ይሆናል። የሞጆ አስገራሚ ባህሪ የኢሞጂ ምልክትን "🔥" ለኮድ ፋይሎች ቅጥያ አድርጎ የመግለጽ ችሎታ ነው (ለምሳሌ "helloworld.🔥") ከጽሑፍ ቅጥያ ".mojo" በተጨማሪ።

በአሁኑ ጊዜ ቋንቋው በከፍተኛ እድገት ላይ ነው እና የመስመር ላይ በይነገጽ ብቻ ለሙከራ ነው የቀረበው። በአካባቢያዊ ስርዓቶች ላይ የሚካሄዱ የተለያዩ ስብሰባዎች በይነተገናኝ ድር አካባቢ ስራ ላይ አስተያየት ከተቀበሉ በኋላ በኋላ ላይ እንደሚታተሙ ቃል ተገብቷል. የውስጥ አርክቴክቸር ዲዛይን ከተጠናቀቀ በኋላ የአቀናባሪው ፣ ጂአይቲ እና ሌሎች እድገቶች ምንጭ ኮድ ለመክፈት ታቅደዋል (ከተዘጋው በሮች በስተጀርባ ያለው የሥራ ምሳሌ ልማት የኤልኤልቪኤም የመጀመሪያ የእድገት ደረጃን ይመስላል) ክላንግ እና ስዊፍት)። የሞጆ አገባብ በፓይዘን ላይ የተመሰረተ እና የስርአቱ አይነት ለ C/C++ ቅርብ ስለሆነ ወደፊት በC/C++ እና Python ወደ Mojo የተፃፉ ፕሮጄክቶችን ለመተርጎም የሚያስችል መሳሪያ ለማዘጋጀት እንዲሁም ለማዳበር እቅድ ተይዟል። የፓይዘን ኮድን እና ሞጆን የሚያጣምሩ ድብልቅ ፕሮጀክቶች።

ፕሮጀክቱ በስሌቶቹ ውስጥ በሲስተሙ ውስጥ የሚገኙትን የተለያዩ ስርዓቶች የሃርድዌር ሀብቶችን ለማሳተፍ የተነደፈ ነው። ለምሳሌ፣ ጂፒዩዎች፣ ልዩ የማሽን መማሪያ አፋጣኞች እና የቬክተር ማቀነባበሪያ መመሪያዎች (ሲኤምዲዎች) የሞጆ አፕሊኬሽኖችን ለማስኬድ እና ስሌቶችን ለማመሳሰል ጥቅም ላይ ሊውሉ ይችላሉ። የፒቲን ቋንቋን የተለየ ክፍል ለማዘጋጀት ምክንያት የሆነው የነባሩን ሲፒቶን የማሻሻያ ሥራ ከመቀላቀል ይልቅ እንደ ማጠናቀር ትኩረት፣ የስርዓት ፕሮግራሚንግ ችሎታዎች ውህደት እና ኮድ እንዲኖር የሚያስችል በመሠረቱ የተለየ የውስጥ አርክቴክቸር ተጠቅሷል። በጂፒዩዎች እና በተለያዩ የሃርድዌር ማፍጠኛዎች ላይ ተፈጽሟል። በተመሳሳይ ጊዜ የሞጆ ገንቢዎች በተቻለ መጠን ከCPython ጋር ተኳሃኝነትን ለማክበር ይፈልጋሉ።

Mojo ሁለቱንም በጂአይቲ አተረጓጎም ሁኔታ እና ወደ ተፈጻሚነት ያላቸውን ፋይሎች (AOT፣ ከጊዜ በፊት) ለማጠናቀር ጥቅም ላይ ሊውል ይችላል። አቀናባሪው አብሮገነብ ዘመናዊ ቴክኖሎጂዎች አሉት ለራስ-ሰር ማመቻቸት፣ መሸጎጫ እና ማጠናቀር። በሞጆ ቋንቋ የምንጭ ጽሑፎች ወደ ዝቅተኛ-ደረጃ መካከለኛ ኮድ MLIR (ባለብዙ ደረጃ መካከለኛ ውክልና) በኤልኤልቪኤም ፕሮጀክት ተዘጋጅተው የውሂብ ፍሰት ግራፍ ሂደትን ለማሻሻል ተጨማሪ ባህሪያትን ይሰጣሉ። ማቀናበሪያው የማሽን ኮድ ለማመንጨት MLIR ን የሚደግፉ የተለያዩ የኋላ ክፍሎችን እንድትጠቀም ይፈቅድልሃል።

ስሌቶችን ለማፋጠን ተጨማሪ የሃርድዌር ስልቶችን መጠቀም በጥልቅ ስሌቶች ከC/C ++ አፕሊኬሽኖች የሚበልጠውን አፈፃፀም ለማሳካት ያስችላል። ለምሳሌ የማንዴልብሮት ስብስብን ለማመንጨት አፕሊኬሽኑን ሲፈተሽ የተቀናበረው Mojo መተግበሪያ በAWS ደመና (r7iz.metal-16xl) ሲተገበር ከC ++ ትግበራ (6 ሰከንድ ከ 0.03 ሰከንድ) በ0.20 እጥፍ ፈጠነ ነበር። .)፣ እንዲሁም ስቶክ ሲፒቶን 35 (3.10.9 ሰከንድ ከ0.03 ሰከንድ) እና 1027 ጊዜ PYPYን በመጠቀም (1500 ሴኮንድ vs 0.03 ሰከንድ) በመጠቀም ከ Python መተግበሪያ 46.1 ሺህ ጊዜ ፈጣን ነው።

የማሽን መማር ችግሮችን በመፍታት ረገድ ያለውን አፈጻጸም ሲገመግም በሞጆ ቋንቋ የተፃፈው ሞዱላር ኢንፈረንስ ኢንጂን AI ቁልል በ TensorFlow ላይብረሪ ላይ ከተመሰረተው መፍትሄ ጋር ሲነጻጸር ከኢንቴል ጋር ባለው ስርዓት 3 ጊዜ ፈጣን ሆኖ ተገኝቷል። ፕሮሰሰር የቋንቋ ሞዴልን ሲያቀናብር፣ የጥቆማ ትውልድ ሞዴል ሲፈፀም 6.4 ጊዜ ፈጣን እና 2.1 ጊዜ ፈጣን ምስላዊ መረጃን ለመስራት ከሞዴሎች ጋር ሲሰራ። AMD ፕሮሰሰር ሲጠቀሙ ሞጆ ሲጠቀሙ የተገኘው ትርፍ 3.2፣ 5 እና 2.2 ጊዜ፣ እና ARM ፕሮሰሰሮችን ሲጠቀሙ - 5.3፣ 7.5 እና 1.7 ጊዜ በቅደም ተከተል። በፒቶርች ላይ የተመሰረተው መፍትሄ ከሞጆ በ1.4፣ 1.1 እና 1.5 ጊዜ በኢንቴል ሲፒዩ፣ 2.1፣ 1.2 እና 1.5 ጊዜ በ AMD CPU እና 4፣ 4.3 እና 1.3 ጊዜ በARM ሲፒዩ ላይ ተቀምጧል።

LLVM ፈጣሪ አዲስ የሞጆ ፕሮግራሚንግ ቋንቋን አዳብሯል።

ቋንቋው የማይንቀሳቀስ ትየባ እና ዝቅተኛ-ደረጃ ማህደረ ትውስታ-ደህንነቱ የተጠበቀ ባህሪያትን እንደ የማጣቀሻ የህይወት ዘመን መከታተያ እና ተለዋዋጭ የብድር አረጋጋጭ (የመበደር አራሚ) ያሉ የዝገትን ባህሪያትን ይደግፋል። ከጠቋሚዎች ጋር ደህንነቱ የተጠበቀ አሰራርን ከሚጠቀሙ ዘዴዎች በተጨማሪ ቋንቋው ለዝቅተኛ ደረጃ ስራዎች ባህሪያትን ይሰጣል, ለምሳሌ, በቀጥታ ደህንነቱ ባልተጠበቀ ሁነታ የማስታወሻውን የጠቋሚ አይነት በመጠቀም, የሲም ዲ መመሪያዎችን ይደውሉ ወይም የሃርድዌር ቅጥያዎችን ማግኘት ይቻላል. እንደ TensorCores እና AMX።

LLVM ፈጣሪ አዲስ የሞጆ ፕሮግራሚንግ ቋንቋን አዳብሯል።

ለሁሉም ተለዋዋጮች ግልጽ ዓይነት ፍቺ ያላቸው ክላሲክ እና የተመቻቸ የፓይዘን ኮድ መለያየትን ለማቃለል ከ"def" ይልቅ የተለየ ቁልፍ ቃል ለመጠቀም ታቅዷል። በተመሳሳይ ለክፍሎች ፣በማጠናቀር ጊዜ (እንደ C) መረጃን በማህደረ ትውስታ ውስጥ በስታስቲክስ ማሸግ ከፈለጉ ከ “ክፍል” ይልቅ “struct” ዓይነትን መጠቀም ይችላሉ ። ሞጁሎችን በ C / C ++ ቋንቋዎች በቀላሉ ማስመጣት ይቻላል, ለምሳሌ, የኮስ ተግባርን ከሂሳብ ቤተ-መጽሐፍት ለማስመጣት, "ከ"math.h" Import cos" መጥቀስ ይችላሉ.

ምንጭ: opennet.ru

አስተያየት ያክሉ