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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

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