HPVM 2.0፣ ለሲፒዩ፣ ለጂፒዩ፣ ለኤፍፒጂኤ እና ለሃርድዌር አፋጣኝ ማጠናከሪያ ታትሟል

የኤልኤልቪኤም ፕሮጄክት የHPVM 2.0 (Heterogeneous Parallel Virtual Machine) መውጣቱን አስታውቋል፣ ለተለያዩ ስርዓቶች ፕሮግራሞችን ለማቅለል እና ለሲፒዩዎች፣ ጂፒዩዎች፣ FPGAዎች እና ጎራ-ተኮር ሃርድዌር አፋጣኞች የኮድ ማመንጨት መሳሪያዎችን ለማቅረብ ያለመ። የፕሮጀክት ኮድ በApache 2.0 ፍቃድ ስር ተሰራጭቷል።

ለተለያዩ ትይዩ ሥርዓቶች ፕሮግራሚንግ በአንድ ሥርዓት ውስጥ የተለያዩ ሞዴሎችን በመጠቀም ትይዩ (ሲፒዩ ኮሮች፣ የቬክተር መመሪያዎች፣ ጂፒዩ፣ ወዘተ)፣ የተለያዩ የማስተማሪያ ስብስቦች እና የተለያዩ የማህደረ ትውስታ ተዋረዶች በመኖራቸው ውስብስብ ነው። እያንዳንዱ ስርዓት የእነዚህን ክፍሎች ጥምረት ይጠቀማል. የ HPVM ፕሮጀክት ዋና ሀሳብ በሚጠናቀርበት ጊዜ ትይዩ-ተፈፃሚ ፕሮግራሞችን አንድ ወጥ የሆነ ውክልና መጠቀም ሲሆን ይህም ለተለያዩ ትይዩ ኮምፒውቲንግ ለሚደግፉ ሃርድዌር አይነቶች ማለትም ጂፒዩዎች፣ የቬክተር መመሪያዎች፣ ባለብዙ ኮር ፕሮሰሰር፣ FPGAs እና የተለያዩ ልዩ አፋጣኝ ቺፕስ.

ከሌሎቹ ስርዓቶች በተለየ፣ HPVM የተለያዩ ኮምፒውተሮችን ለማደራጀት ሶስት አቅሞችን ለማጣመር ሞክሯል - የፕሮግራሚንግ ቋንቋ እና ሃርድዌር-ገለልተኛ መካከለኛ ውክልና (IR) ፣ ምናባዊ መመሪያ ስብስብ አርክቴክቸር (V-ISA) እና የአሂድ ጊዜ መርሐግብር።

  • የ HPVM መካከለኛ ውክልና የተግባር፣ የውሂብ እና የቧንቧ መስመር ደረጃ ትይዩነትን ለመያዝ ተዋረዳዊ የውሂብ ፍሰት ግራፍ በመጠቀም የኤልኤልቪኤም መካከለኛ ውክልና ያራዝመዋል። የ HPVM መካከለኛ ውክልና የቬክተር መመሪያዎችን እና የጋራ ማህደረ ትውስታን ያካትታል። መካከለኛ ውክልና የመጠቀም ዋና ዓላማ ቀልጣፋ ኮድ ማመንጨት እና ለተለያዩ ስርዓቶች ማመቻቸት ነው።
  • ምናባዊ መመሪያ አዘጋጅ አርክቴክቸር (V-ISA) ዝቅተኛ ደረጃ የሃርድዌር ባህሪያትን ረቂቅ ያዘጋጃል እና የተለያዩ ትይዩዎችን እና የማስታወሻ አርክቴክቸርዎችን አንድ ያደርጋል መሰረታዊ ትይዩ ሞዴል - የውሂብ ፍሰት ግራፍ። V-ISA ለትይዩ ኮምፒዩቲንግ መሳሪያዎች በተለያዩ አይነቶች መካከል ተንቀሳቃሽነት እንዲደርሱ ይፈቅድልዎታል እና የተለያዩ የሄትሮጂን ሲስተም አካላትን ሲጠቀሙ አፈፃፀምን እንዳያጡ ያደርግዎታል። ቨርቹዋል ኢሳ ሲፒዩዎች፣ጂፒዩዎች፣ኤፍፒጂኤዎች እና የተለያዩ ማፍጠኛዎችን በመጠቀም የሚሰራ ሁለንተናዊ executable የፕሮግራም ኮድ ለማድረስ ጥቅም ላይ ሊውል ይችላል።
  • ለስሌት ሂደቱ ተለዋዋጭ የመርሃግብር ፖሊሲዎች በሂደት ላይ ይተገበራሉ እና በሁለቱም በፕሮግራሙ መረጃ (የግራፍ መዋቅር) እና በሲስተሙ ውስጥ በሚገኙ ማንኛቸውም የታለመ የኮምፒዩተር መሳሪያዎች ላይ እንዲተገበሩ በተናጥል የፕሮግራም አንጓዎችን በማቀናጀት ይተገበራሉ።

በፕሮጀክቱ የተገነቡት የኮድ ጀነሬተሮች ቨርቹዋል ኢሳን በመጠቀም የተገለጹትን የመተግበሪያ ኖዶች ለአፈፃፀም NVIDIA GPUs (cuDNN እና OpenCL)፣ ኢንቴል AVX የቬክተር መመሪያዎችን፣ FPGAs እና multi-core x86 CPUsን በመጠቀም መተርጎም የሚችሉ ናቸው። የ HPVM ተርጓሚዎች አፈጻጸም በእጅ ከተፃፈው OpenCL ኮድ ለጂፒዩዎች እና ለቬክተር ኮምፒውቲንግ መሳሪያዎች ጋር ሊወዳደር እንደሚችል ተጠቁሟል።

የ HPVM 2.0 ቁልፍ ፈጠራዎች፡-

  • የሄትሮ-ሲ++ ቋንቋ ግንባር ቀርቧል፣ ይህም በH/C++ ውስጥ ያለውን የመተግበሪያ ኮድ ትይዩነት በHPVM ውስጥ ለመሰብሰብ ቀላል ያደርገዋል። Hetero-C++ የHPVM ክር ግራፎችን የሚያሳዩ የውሂብ ደረጃ ትይዩ እና ተዋረዳዊ ተግባራት ቅጥያዎችን ይገልጻል።
  • በIntel FPGAs ላይ ለኮድ ማስፈጸሚያ ድጋፍ ለመስጠት የFPGA ድጋፍ ታክሏል። ማስፈጸሚያን ለማደራጀት የIntel FPGA SDK ለOpenCL ጥቅም ላይ ይውላል።
  • ለተወሰነ የሃርድዌር መድረክ አፕሊኬሽኖችን በራስ ሰር ለማስተካከል ማነቆዎችን የመለየት የማጠናቀሪያ ማሻሻያዎችን እና ስልቶችን የሚያካትት የዲኤስኢ (ንድፍ ቦታ ፍለጋ) ማዕቀፍ ተጨምሯል። ማዕቀፉ ከኢንቴል ለኤፍፒጂኤዎች የተዘጋጀ የአፈጻጸም ሞዴል ይዟል እና በHPVM ለሚደገፉ ማናቸውም መሳሪያዎች ለማመቻቸት የራስዎን ፕሮሰሰር ማገናኘት ያስችላል። ማትባቶች በሁለቱም የ HPVM እና LLVM የውሂብ ፍሰት ግራፍ ደረጃዎች ላይ ሊተገበሩ ይችላሉ።
  • የኤልኤልቪኤም ክፍሎች ወደ ስሪት 13.0 ተዘምነዋል።
  • የኮዱ መሰረትን፣ ቤተ-መጻሕፍትን እና መገልገያዎችን ማሰስ ቀላል ለማድረግ ኮዱ በአዲስ መልክ ተደራጅቷል።
  • የሙከራ መሠረተ ልማት ተሻሽሏል, ለተለያዩ የ HPVM ክፍሎች አዳዲስ ሙከራዎች ተጨምረዋል.

ምንጭ: opennet.ru

አስተያየት ያክሉ