CPU, GPU, FPGA және үдеткіштерге арналған LLVM негізіндегі компилятор HPVM

Жобаны жасаушылар LLVM шығарылды жақында гетерогенді параллельді виртуалды машинаның компиляторын шығарды (HPVM) 1.0, мақсаты гетерогенді жүйелер үшін бағдарламалауды жеңілдету және CPU, GPU, FPGA және аппараттық үдеткіштер үшін код жасау құралдарын ұсынады арнайы домен (FGPA және үдеткіштерге қолдау 1.0 нұсқасына енгізілмеген).

Негізгі идея HPVM артында бір мезгілде орындалатын бағдарламалардың бірыңғай көрінісін құрастыру болып табылады оны әртүрлі параллель жабдықтарда, соның ішінде графикалық процессорларда, векторлық нұсқауларда, көп ядролы процессорларда, FPGA-да және әртүрлі мамандандырылған үдеткіш чиптерде жұмыс істеуге пайдалануға болады.

Гетерогенді параллель жүйелер үшін бағдарламалау параллелизмге жету үшін әр түрлі модельдерді, әр түрлі командалар жиынтығы мен әр түрлі жад иерархияларын қолданатын компоненттер жүйесінде (процессордың ядролары, векторлық нұсқаулар, GPU және т.б.) күрделі болғандықтан, әр жүйеде мұндай компоненттер өзгеруде.

Иллинойс LLVM компиляторлық зерттеу тобы HPVM шығарылымының ашық нұсқасы туралы қуана хабарлайды (1.0 нұсқасы). HPVM - бұл процессорларға, графикалық процессорларға және үдеткіштерге бағытталған қайта бағдарлаушы компилятор құрылымы (бұл шығарылымда үдеткішті қолдау қамтылмаған) [1]. HPVM мақсатты тәуелсіз компиляторды қолданады, ол LLVM 9.0.0 компиляторы IR-ді тапсырмаларды, деректерді және өткізгіштік параллелизмді түсіретін иерархиялық мәліметтер ағынының нақты көрінісімен кеңейтеді.

Бұл нұсқа сызықтық алгебра тензоры операцияларын, Pytorch және Keras интерфейстерін, конволюция операторлары үшін жуықтамаларды және жақындастыру үшін тиімді және икемді құрылымды қосатын бірінші нұсқаға маңызды қосымша болып табылады. 

Пайдалану екенін атап өткен жөн HPVM өнімділіктің айтарлықтай өсуіне қол жеткізе алады өйткені eHPVM аудармашыларының өнімділігі OpenCL кодымен салыстыруға болады GPU және векторлық есептеу құрылғыларына арналған қолмен жазылған. Басқа жүйелерден айырмашылығы, HPVM гетерогенді есептеуді ұйымдастырудың үш мүмкіндігін біріктіруге тырысты: тілден және аппаратурадан тәуелсіз аралық ұсыну, виртуалды командалар жиынтығының архитектурасы (V-ISA) және жұмыс уақытын бағдарламалау.

Тәуелсіз аралық өкілдік Мақсатты жүйенің (IR) және HPVM-де қолданылатын бағдарламалау тілі LLVM 9.0 нұсқауларының аралық көрінісіне негізделген және оны параллелизмді, тапсырма, деректер және есептеу құбырлары деңгейінде қамту үшін иерархиялық мәліметтер ағынының графигімен кеңейтеді.

HPVM аралық құрамына векторлық нұсқаулар мен ортақ жад кіреді. Аралық ұсынуды пайдаланудың негізгі мақсаты - гетерогенді жүйелер үшін кодты тиімді құру және оңтайландыру.

Виртуалды нұсқаулар жиынтығының архитектурасы (V-ISA) төменгі деңгейдің аппараттық мүмкіндіктерін жинақтайды және параллелизм мен жад архитектурасының әртүрлі формаларын тек негізгі параллельдік модель, мәліметтер ағынының графигі арқылы біріктіреді. V-ISA параллельді есептеу техникасының әр түрлі типтері арасында портативтілікке қол жеткізуге мүмкіндік береді және гетерогенді жүйелердің әртүрлі элементтерін қолдану кезінде өнімділікті жоғалтпауға мүмкіндік береді. Виртуалды ISA-ны CPU, GPU, FPGA және әртүрлі акселераторлар көмегімен іске қосылатын әмбебап орындалатын бағдарламалық кодты ұсыну үшін де пайдалануға болады.

Дамудың қазіргі кезеңінде, HPVM ISA анықтаған қолданбалы түйіндерді аударуға қабілетті код генераторларын ұсынады NVIDIA графикалық процессорларын (cuDNN және OpenCL), Intel AVX векторлық нұсқауларын және көп ядролы x86 процессорларын қолдану арқылы орындау үшін виртуалды. }

Орындау кезінде HPVM бағдарлама туралы ақпарат негізінде (графикалық құрылым) және жүйеде қол жетімді тағайындалған кез-келген есептеу құрылғыларында орындау үшін жеке бағдарламалық түйіндерді құрастыру арқылы жүзеге асырылатын есептеу процесінің икемді жоспарлау саясатын қолданады.

Алдын ала қарау нұсқасымен салыстырғанда, HPVM 1.0 сызықтық алгебраның тензорлық операцияларын қолдайды, Pytorch және Keras интерфейстері және белгілі бір тензор операциялары үшін оңтайлы жақындауларды автоматты түрде таңдайтын және оңтайлы өнімділікке арналған параметрді таңдайтын жуықтауды баптау шеңбері.

Егер сіз осы компилятор туралы көбірек білгіңіз келсе, Толық мәліметтерді келесі сілтеме арқылы тексеруге болады.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады.

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.