HPVM 2.0، د CPU، GPU، FPGA او هارډویر سرعت کونکو لپاره کمپیلر خپور شو

د LLVM پروژې د HPVM 2.0 (Heterogeneous Parallel Virtual Machine) د خپریدو اعلان وکړ، یو کمپیلر چې هدف یې د متفاوت سیسټمونو لپاره د پروګرام کولو ساده کول او د CPUs، GPUs، FPGAs، او د ډومین ځانګړي هارډویر سرعت کونکو لپاره د کوډ تولید وسیلې چمتو کول دي. د پروژې کوډ د اپاچی 2.0 جواز لاندې ویشل شوی.

د متضاد موازي سیسټمونو لپاره برنامه کول په ورته سیسټم کې د اجزاو شتون له امله پیچلي دي چې د موازي کولو لاسته راوړلو لپاره مختلف ماډلونه کاروي (CPU کورونه ، ویکتور لارښوونې ، GPU ، او نور) ، مختلف لارښوونې سیټونه او مختلف حافظې درجه بندي. هر سیسټم د دې اجزاو خپل ترکیب کاروي. د HPVM پروژې اصلي مفکوره دا ده چې د موازي اجرا شوي برنامو یو متحد نمایش وکاروئ کله چې تالیف کول ، کوم چې د مختلف ډوله هارډویرونو لپاره کارول کیدی شي چې د موازي کمپیوټري ملاتړ کوي ، پشمول د GPUs ، ویکتور لارښوونې ، ملټي کور پروسیسرونه ، FPGAs او مختلف ځانګړي سرعت کونکي چپس.

د نورو سیسټمونو برعکس، HPVM هڅه وکړه چې د متفاوت کمپیوټري تنظیم کولو لپاره درې وړتیاوې سره یوځای کړي - د پروګرام کولو ژبه او د هارډویر خپلواک منځګړیتوب استازیتوب (IR)، د مجازی لارښوونې ترتیب جوړښت (V-ISA) او د چلولو مهال ویش:

  • د HPVM منځمهاله نمایندګۍ د LLVM منځګړیتوب نمایش د لارښوونو د درجه بندي ډیټا جریان ګراف په کارولو سره غزوي ترڅو د دندې، ډیټا او پایپ لاین په کچه موازيتوب ونیسي. د HPVM منځمهاله نمایش کې د ویکتور لارښوونې او شریکه حافظه هم شامله ده. د منځمهاله نمایندګۍ کارولو اصلي هدف د کوډ تولید او د متضاد سیسټمونو لپاره اصلاح کول دي.
  • د مجازی لارښوونې سیټ آرکیټیکچر (V-ISA) د ټیټې کچې هارډویر ځانګړتیاوې خلاصوي او یوازې د لومړني موازي ماډل په کارولو سره د موازي او حافظې جوړښت مختلف ډولونه متحد کوي - د ډیټا جریان ګراف. V-ISA تاسو ته اجازه درکوي چې د موازي کمپیوټرو لپاره د مختلف ډوله تجهیزاتو تر مینځ پورټ وړتیا ترلاسه کړئ او دا ممکنه کوي چې د مختلف سیسټمونو مختلف عناصرو کارولو پرمهال فعالیت له لاسه ورنکړي. مجازی ISA د نړیوال اجرا وړ برنامه کوډ وړاندې کولو لپاره هم کارول کیدی شي چې د CPUs ، GPUs ، FPGAs او مختلف سرعت کونکو په کارولو سره پرمخ وړل کیدی شي.
  • د کمپیوټري پروسې لپاره د انعطاف وړ مهالویش پالیسي د چلولو په وخت کې پلي کیږي او دواړه د برنامې (ګراف جوړښت) په اړه معلوماتو پراساس پلي کیږي او په سیسټم کې موجود کوم هدف کمپیوټري وسیلو کې د اجرا کولو لپاره د انفرادي برنامې نوډونو تالیف له لارې پلي کیږي.

د پروژې لخوا رامینځته شوي کوډ جنریټرونه د NVIDIA GPUs (cuDNN او OpenCL) ، Intel AVX ویکتور لارښوونې ، FPGAs او ملټي کور x86 CPUs په کارولو سره د اجرا کولو لپاره د مجازی ISA په کارولو سره تعریف شوي غوښتنلیک نوډونو ژباړلو وړتیا لري. د یادونې وړ ده چې د HPVM ژباړونکو فعالیت د GPUs او ویکتور کمپیوټري وسیلو لپاره د لاس لیکل شوي OpenCL کوډ سره پرتله کولو وړ دی.

د HPVM 2.0 کلیدي نوښتونه:

  • د Hetero-C++ ژبې فرنټ اینډ وړاندیز شوی، کوم چې په HPVM کې د تالیف لپاره په C/C++ کې د غوښتنلیک کوډ موازي کول ساده کوي. Hetero-C++ د ډیټا د کچې موازي کولو او درجه بندي دندو لپاره توسیعونه تعریفوي چې د HPVM تار ګرافونو نقشه کوي.
  • په Intel FPGAs کې د کوډ اجرا کولو لپاره د ملاتړ چمتو کولو لپاره د FPGA بیکینډ اضافه شوی. د اعدام تنظیم کولو لپاره، د OpenCL لپاره Intel FPGA SDK کارول کیږي.
  • د DSE (ډیزاین سپیس اکسپلوریشن) چوکاټ اضافه شوی ، کوم چې د ورکړل شوي هارډویر پلیټ فارم لپاره د غوښتنلیکونو اتومات کولو لپاره د خنډونو پیژندلو لپاره د کمپیلر اصلاح او میکانیزمونه شامل دي. چوکاټ د انټیل څخه د FPGAs لپاره د چمتو شوي فعالیت ماډل لري او دا امکان ورکوي چې د HPVM لخوا ملاتړ شوي هر ډول وسیلو لپاره د اصلاح کولو لپاره خپل پروسیسرونه وصل کړئ. اصلاح کول په دواړو HPVM او LLVM ډیټا فلو ګراف کې پلي کیدی شي.
  • د LLVM برخې 13.0 نسخه ته تازه شوي.
  • کوډ بیا تنظیم شوی ترڅو د کوډ بیس، کتابتونونو او اسانتیاوو ته د تګ اسانه کړي.
  • د ازموینې زیربنا ښه شوې ، د HPVM مختلف برخو لپاره نوې ازموینې اضافه شوي.

سرچینه: opennet.ru

Add a comment