Kaveris HSA-Features: AMD nennt Zeitplan für Unterstützung in Treibern und Tools

Die Infor­ma­ti­ons­po­li­tik von Sei­ten AMDs beim The­ma Soft­ware-Unter­stüt­zung für die HSA-Fea­tures der “Kaveri”-APUs ist bis­her als ver­wir­rend zu bezeich­nen. Unse­re Ver­su­che, hier etwas Klar­heit zu erlan­gen, waren nur teil­wei­se von Erfolg gekrönt. Mehr­fach blie­ben ent­spre­chen­de Anfra­gen ent­we­der unbe­ant­wor­tet oder die Ant­wor­ten ver­mie­den es, ein voll­stän­di­ges Bild zu zeich­nen. Seit der Ent­wick­ler­kon­fe­renz APU13 steht die Infor­ma­ti­on im Raum, dass der HSA-Soft­ware-Stack frü­hes­tens im zwei­ten Quar­tal 2014 bereit­ste­hen wird. Im Janu­ar über­rasch­te AMD dann mit der Aus­sa­ge, HSA wer­de bereits mit der Win­dows-Ver­si­on der Cata­lyst-Trei­ber unter­stützt, sodass die Anwen­dun­gen Libre­Of­fice ab Ver­si­on 4.2 und Corel After­shot bereits von den neu­en Fähig­kei­ten der “Kaveri”-APU pro­fi­tie­ren kön­nen. Zudem ließ man uns wis­sen, dass sich die HSA-Unter­stüt­zung noch im Beta-Sta­di­um befin­det, hUMA expli­zit vom Ent­wick­ler genutzt wer­den müs­se und die Lauf­zeit­um­ge­bung (wenn mög­lich) hQ auto­ma­tisch ver­wen­den wür­de. Eine Open­CL-Erwei­te­rung, mit der hQ expli­zit vom Ent­wick­ler ver­wen­det wer­den kann, exis­tie­re nicht. Wie es mit der Unter­stüt­zung für Linux aus­sieht, woll­te man noch nicht kom­mu­ni­zie­ren. Eine öffent­li­che Doku­men­ta­ti­on für die Nut­zung von hUMA ist bis heu­te nicht ver­füg­bar.

Heu­te hat sich AMD nun gegen­über diver­sen ame­ri­ka­ni­schen Medi­en zu Wort gemel­det, um eini­ge Infor­ma­tio­nen zu den wei­te­ren Pla­nun­gen für die soft­ware­sei­ti­ge Unter­stüt­zung von HSA zu ver­brei­ten. Dem­nach soll im Lau­fe des heu­ti­gen Tages ein neu­er Beta-Trei­ber für Win­dows bereit­ge­stellt wer­den, der es Open­CL-Ent­wick­lern erlau­ben wird, hUMA zu nut­zen. Weil der OpenCL-1.2-Standard noch nicht die Nut­zung von Sha­red Memo­ry vor­sieht, stellt AMD die­se Funk­tio­na­li­tät über her­stel­ler­spe­zi­fi­sche Open­CL-Exten­si­ons bereit. Die­se Funk­tio­na­li­tät wird erst mit dem bereits ver­ab­schie­de­ten OpenCL-2.0-Standard gebo­ten, zu dem “Kave­ri” laut AMD schon heu­te kom­pa­ti­bel ist. Einen Trei­ber mit voll­stän­di­ger Unter­stüt­zung von Open­CL 2.0 kann AMD aber noch nicht anbie­ten, daher die Zwi­schen­lö­sung über die her­stel­ler­spe­zi­fi­schen Open­CL-Exten­si­ons.

Auf Sei­ten des HSA-Soft­ware-Stacks soll im zwei­ten Quar­tal eine Beta-Ver­si­on für Linux ver­öf­fent­licht wer­den, zu der HSAIL-Com­pi­ler und HSA-Lauf­zeit­um­ge­bung gehö­ren wer­den. Dies ist wohl pünkt­lich zur Vor­stel­lung von “Kave­ris” Ser­ver-Ver­si­on “Ber­lin” geplant. Ob jene Bestand­tei­le bereits in den aktu­el­len Cata­lyst-Trei­bern für Win­dows ent­hal­ten sind, bleibt unklar. AnandTech ver­mu­tet, dass der HSA-Soft­ware-Stack zunächst nur unter Linux zur Ver­fü­gung ste­hen wird.

Den HSA-Soft­ware-Stack benö­ti­gen Ent­wick­ler von Com­pi­lern höhe­rer Pro­gram­mier­spra­chen und hoch­op­ti­mier­ter Low-Level-Biblio­the­ken, um Unter­stüt­zung für HSA zu inte­grie­ren. Aller­dings wird die Beta-Ver­si­on nur kom­pa­ti­bel zum Pro­to­ty­pen der Spe­zi­fi­ka­ti­on für die HSA-Lauf­zeit­um­ge­bung sein. Die fina­le Ver­si­on wur­de schlicht noch nicht rati­fi­ziert. Als eine der ers­ten höhe­ren Pro­gram­mier­spra­chen wird vor­aus­sicht­lich Java 8 pro­fi­tie­ren – aller­dings zunächst nur über die Zwi­schen­lö­sung Apa­ra­pi. Für sie ist die Ver­öf­fent­li­chung einer HSA-opti­mier­ten Ver­si­on kurz nach der des Soft­ware-Stacks ange­dacht. Erst mit der Ver­si­on 9 ist eine direk­te Nut­zung von HSA durch die Java-Lauf­zeit­um­ge­bung geplant. Zudem will Mul­ti­core­Ware die­ses Jahr ein HSA-Back-End für C++ AMP unter Linux bereit­stel­len. Eben­falls wur­de erneut die Nut­zung von HSA über OpenMP-Direk­ti­ven ange­spro­chen, was AMD in Anleh­nung an Ope­nACC zusam­men mit SUSE für die GNU Com­pi­ler Collec­tion (GCC) ent­wi­ckelt. Wann die­se Funk­tio­na­li­tät über die C/C++/Fortran-Compiler der GCC nutz­bar sein wird, bleibt aller­dings wei­ter­hin unklar.

Quel­le: AnandTech