ХПВМ компајлер заснован на ЛЛВМ-у за ЦПУ, ГПУ, ФПГА и акцелераторе

Програмери пројекта ЛЛВМ пуштен недавно објавио компајлер Хетерогене паралелне виртуелне машине (ХПВМ) 1.0, који има за циљ поједноставити програмирање за хетерогене системе и пружа алате за генерисање кода за ЦПУ, ГПУ, ФПГА и хардверске акцелераторе специфично за домен (подршка за ФГПА и акцелераторе није била укључена у верзију 1.0).

Главна идеја иза ХПВМ је истовремено компајлирање обједињене репрезентације извршних програма који се могу користити за рад на разним паралелним хардверима, укључујући ГПУ-ове, векторске инструкције, вишејезгрене процесоре, ФПГА-е и разне специјализоване чипове за акцелератор.

Програмирање за хетерогене паралелне системе је компликовано присуством у систему компонената (ЦПУ језгра, векторске инструкције, ГПУ итд.) Који користе различите моделе за постизање паралелизма, различите скупове инструкција и различите хијерархије меморије, а сваки систем има комбинацију такве компоненте се мењају.

Иллиноис ЛЛВМ Цомпилер Ресеарцх Гроуп са задовољством најављује издање ХПВМ-а отвореног кода (верзија 1.0). ХПВМ је преусмеравајући оквир компајлера који циља ЦПУ-ове, ГПУ-ове и акцелераторе (ово издање не укључује подршку за акцелератор) [1]. ХПВМ користи циљани независни ИР компајлера који проширује ИР компајлера ЛЛВМ 9.0.0 са експлицитном хијерархијском представом тока података која обухвата задатке, податке и паралелност цевовода.

Ова верзија је важан додатак нашој првој верзији (верзија 0.5), која додаје подршку за операције тензора линеарних алгебра, интерфејсе Питорцх и Керас, апроксимације за операторе конволуције и ефикасан и флексибилан оквир за прилагођавање апроксимације. 

Треба напоменути да је употреба ХПВМ може постићи значајан напредак у перформансама синце eИзлазне перформансе ХПВМ преводилаца су упоредиве са перформансама ОпенЦЛ кода руком написан за ГПУ и векторске рачунарске уређаје. За разлику од других система, ХПВМ је покушао да комбинује три могућности за организовање хетерогених рачунара: међупредстављање неовисно о језику и хардверу, архитектура виртуелног скупа инструкција (В-ИСА) и програмирање у току.

Независна посредничка репрезентација (ИР) циљног система а програмски језик који се користи у ХПВМ заснован је на посредном представљању упутстава ЛЛВМ 9.0 и проширује га хијерархијским графом протока података како би обухватио паралелизам на нивоу задатака, података и рачунских цевовода.

ХПВМ интермедијар такође укључује векторска упутства и заједничку меморију. Главни циљ употребе посредничког представљања је ефикасно генерисање кода и оптимизација за хетерогене системе.

Архитектура скупа виртуелних инструкција (В-ИСА) апстрахује хардверске карактеристике ниског нивоа и обједињује различите облике паралелизма и архитектуре меморије користећи само основни модел истовремености, графикон протока података. В-ИСА омогућава преносивост између различитих типова паралелне рачунарске опреме и омогућава не губљење перформанси када се користе различити елементи хетерогених система. Виртуелни ИСА се такође може користити за пружање универзалног извршног програмског кода који се може покренути помоћу ЦПУ-а, ГПУ-а, ФПГА-е и различитих акцелератора.

У тренутној фази развоја, ХПВМ нуди генераторе кода способне за превођење апликационих чворова дефинисаних од стране ИСА Виртуелно за покретање помоћу НВИДИА графичких процесора (цуДНН и ОпенЦЛ), векторских упутстава Интел АВКС и вишејезгрених к86 процесора. }

Током извршења, ХПВМ примењује флексибилне политике распоређивања за рачунски процес, примењене како на основу информација о програму (графичка структура), тако и кроз компилацију појединачних програмских чворова за извршење на било ком од рачунарских уређаја одредишта доступних у систему.

У поређењу са првом верзијом прегледа, ХПВМ 1.0 укључује подршку за операције тензора линеарне алгебре, интерфејси за Питорцх и Керас и оквир за подешавање апроксимације који аутоматски бира оптималне апроксимације за одређене операције тензора и бира поставку за оптималне перформансе.

Коначно, ако сте заинтересовани да сазнате више о овом компајлеру, Детаље можете погледати на следећем линку.


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена.

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.