Details zu AMDs heterogener Verarbeitungsschlange

Die짯se Woche gab AMD Details zur Pro짯gramm짯ab짯ar짯bei짯tung auf HSA-f채hi짯gen Pro짯zes짯so짯ren bzw. APUs bekannt, zus채tz짯lich beant짯wor짯te짯te uns AMD noch Detail짯fra짯gen dazu. Das beschrie짯be짯ne Kon짯zept h철rt im Eng짯li짯schen auf den Namen 쐆ete짯ro짯ge짯neous Queu짯ing, abge짯k체rzt: 쐆Q.

Wie schon bei AMDs Spei짯cher짯tech짯nik hUMA ist 쐆ete짯ro짯gen schnell erkl채rt. Bei hUMA bedeu짯tet es schlicht, dass unter짯schied짯li짯che Pro짯zes짯sor짯ker짯ne auf einen gemein짯sa짯men Spei짯cher 체ber glei짯che Spei짯cher짯adres짯sen zugrei짯fen k철n짯nen. Im Zusam짯men짯spiel mit einer Ver짯ar짯bei짯tungs짯schlan짯ge bedeu짯tet es nun, dass sich die glei짯chen unter짯schied짯li짯chen Pro짯zes짯sor짯ker짯ne nun gegen짯sei짯tig Arbeit zuschi짯cken k철nnen:

hUMA und hQ sind sich also kon짯zep짯tio짯nell 채hn짯lich, aber im Ver짯gleich zum Spei짯cher gibt es kei짯ne gemein짯sa짯me Schlan짯ge, son짯dern min짯des짯tens zwei, eine f체r die CPU sowie eine f체r die GPU:

Die짯se bei짯den War짯te짯schlan짯gen wer짯den von der jewei짯li짯gen Rechen짯ein짯heit regel짯m채짯횩ig auto짯ma짯tisch abge짯fragt und even짯tu짯ell gefun짯de짯ne Rechen짯pa짯ke짯te dadurch z체gig abge짯ar짯bei짯tet. Die Pake짯te lie짯gen im Haupt짯spei짯cher, wobei ein soge짯nann짯tes hQ-Paket aber kei짯nen aus짯zu짯f체h짯ren짯den Code selbst ent짯h채lt, son짯dern nur einen Zei짯ger auf diesen.

Dadurch, dass die hQ-Pake짯te im Haupt짯spei짯cher lie짯gen, k철nn짯te man nun anneh짯men, dass die Kom짯mu짯ni짯ka짯ti짯on zwi짯schen CPU und GPU stark von der rela짯tiv hohen RAM-Latenz behin짯dert wird. Jedoch ver짯si짯cher짯te uns AMD auf Nach짯fra짯ge, dass die Spei짯cher짯stel짯len der hQ-Pake짯te voll cache-f채hig sei짯en, es auch kei짯ne Koh채짯renz짯pro짯ble짯me zwi짯schen CPU und GPU g채be und somit kei짯ne Per짯for짯mance-Pro짯ble짯me entst체nden.

Neu ist das beschrie짯be짯ne Paket짯for짯mat nicht ganz. Im bereits seit L채n짯ge짯rem 철ffent짯lich erh채lt짯li짯chen HSA-PDF wer짯den schon soge짯nann짯te AQL-Pake짯te (Archi짯tec짯ted Queu짯ing Lan짯guage) beschrie짯ben. AMD best채짯tig짯te uns, dass die hQ-Pak짯te eng mit die짯sen ver짯wandt sei짯en und sie voll unter짯st체t짯zen. Alle bis짯her gezeig짯ten Funk짯ti짯ons짯be짯schrei짯bun짯gen wer짯den auch von den AQL-Pake짯ten erf체llt, jedoch w체r짯den die hQ-Pake짯te noch AMD-spe짯zi짯fi짯sche Fea짯tures, die 체ber den stan짯dar짯di짯sier짯ten Rah짯men hin짯aus gin짯gen, unter짯st체t짯zen. Die AQL-Pake짯te sind fol짯gen짯der짯ma짯횩en spezifiziert:

An AQL packet is an HSA-stan짯dard packet for짯mat. AQL dis짯patch packets are used to dis짯patch new ker짯nels on the HSA com짯po짯nent and spe짯ci짯fy the launch dimen짯si짯ons, ins짯truc짯tion code, ker짯nel argu짯ments, com짯ple짯ti짯on detec짯tion, and more. Other AQL packets may also be sup짯port짯ed in the future.

Dadurch, dass sich die GPU 체ber hQs die Arbeit selbst holen kann, besteht ein Vor짯teil gegen짯체ber der aktu짯el짯len bzw. bald ver짯al짯te짯ten Tech짯nik, bei der die CPU Berech짯nun짯gen h채n짯disch und rela짯tiv kom짯pli짯ziert 체ber Betriebs짯sys짯tem짯schnitt짯stel짯len und Ker짯nel짯trei짯ber an die GPU sen짯den muss. Die짯ser alte Umweg ist im fol짯gen짯den Bild sche짯ma짯tisch dargestellt:

Zum Schluss wol짯len wir noch auf den Umstand hin짯wei짯sen, dass es nicht nur zwei Schlan짯gen gibt. Jede Appli짯ka짯ti짯on kann ihre eige짯ne Schlan짯ge benut짯zen, wobei es aber eine gewis짯se Ober짯gren짯ze bei ca. 30 St체ck gibt:

Man darf also gespannt auf die Ver짯bes짯se짯rung sein, die HSA mit sich bringt, allein es fehlt noch an der Hard짯ware. AMD wird hof짯fent짯lich bald nach짯le짯gen und auf der kom짯men짯den APU13-Mes짯se nicht nur Foli짯en son짯dern auch Sili짯zi짯um zeigen.

Alle Foli짯en gibt es in unse짯rer Slideshow:

Abschlie짯횩end m철ch짯ten wir uns bei AMD f체r die Beant짯wor짯tung unse짯rer Fra짯gen bedanken.

Quel짯le:
Stan짯dards HSA Foun짯da짯ti짯on.