A HSA Foundation komoly mérföldkőhöz érkezett, ugyanis elkészült a HSA 1.0 végleges specifikációja, ami üdvözlendő eredmény. A platform három fontos elemből áll:
• HSA Specification 1.0, ami leírja, hogyan kell működnie a hardvernek
• HSA Programmer's Reference Manual, ami a szoftveres környezetet célzó eszközökhöz, illetve a fordítók fejlesztőinek készült
• HSA Runtime Specification, ami meghatározza, hogyan kell interakcióba lépnie a szoftvernek a HSA támogatással rendelkező hardverrel
A HSA, vagyis a heterogén programozás lényege dióhéjban annyi, hogy segítségével a CPU és a GPU hatékonyan együttműködhet egymással a még eredményesebb feladatvégzés érdekében. A HSA segítségével a CPU és a GPU egységes címtérben dolgozhat, így az adatok megosztása gyors és zökkenőmentes, valamint a feladatok megosztására is van mód. A HSA 1.0 érkezésével a párhuzamos programozás összességében egyszerűbbé és gyorsabbá válhat.
A végleges specifikáció természetesen többféle hardvert is támogat, kezdve az x86 alapú megoldásoktól az ARM alapúakon át egészen a MIPS és egyéb alapú rendszerekig – a lényeg csak az, hogy a kiszemelt platform megfeleljen a követelményeknek. A HSA Foundation szakemberei egyébként jelenleg is olyan megfelelőségi tesztek készítésén munkálkodnak, amelyekkel – az így létrehozott szoftveres eszközök bevetésével – ellenőrizhető az adott környezet HSA kompatibilitása. A cél az, hogy a HSA támogatás széles körben elérhetővé válhasson a legelterjedtebb programnyelveken, mind például a C/C++-on, az OpenMP-n, a Python-on, illetve a – főleg a HPC szegmens által használt – C/Fortran környezetben is. A siker érdekében több cég is dolgozik a megfelelő fordítók fejlesztésén – a MultiCoreWare például az AMD-vel együttműködve nyújt segítséget.
A HSA Foundation többféle területen is próbál majd terjeszkedni, így a HSA előnyeit a mobil videókonferenciák alkalmával (kódolási feladatok CPU és GPU közötti elosztásakor az alacsonyabb sávszélesség-igény eléréséhez), a videó alapú keresések alkalmával, beágyazott alkalmazásoknál, illetve nagy számítási teljesítményt igénylő területeken is élvezhetjük – utóbbi esetben főleg ott jön majd jól a HSA, ahol ugyan memória-intenzív alkalmazások futnak, mégis van lehetőség a előnyt kovácsolni a társprocesszorra támaszkodó számításokból.
A HSA Foundation elnöke, Phil Rogers néhány érdekességről is lerántotta a leplet a bejelentés kapcsán megrendezett tájékoztató alkalmával. Elmondása szerint AMD fronton a Kaveri APU egységek még a HSA 1.0 ideiglenes kiadására támaszkodnak, de a Carrizo APU egységek, amelyek Excavator processzormagokat alkalmaznak, már a HSA 1.0 végleges specifikációját használhatják, amennyiben a megfelelő eszközök még a Carrizo hivatalos rajtja előtt rendelkezésre állnak. A Carrizo APU egységek rajtját persze nem tartják vissza csak azért, hogy a megfelelőség még a termelés felfuttatása előtt garantálható legyen, de a várakozások szerint a Carrizo így is megfelel majd.
Mr. Rogers szerint a HSA 1.0 az Aparapi for Java és a Project Sumatra repertoárjába is bekerül, de fontos cél még a C++ AMP támogatás bevezetése is. Kiemelt jelentőséggel bír az is, hogy a C++17 támogatása is zökkenőmentes legyen.
Profilozás tekintetében a HSA Foundation rendelkezik egy Tools Working Group nevű munkacsoporttal, amely mind a Profiling API, mind pedig a Debugging API fejlesztésén dolgozik. Ezek az API-k egy éven belül elkészülnek, így az alacsonyszintű programnyelvet használó fejlesztők integrálhatják majd őket különböző megoldásaikba.
Arról nem esett szó, hogy az egyéb HSA Foundation tagok, mint például a Qualcomm, a Samsung, az ARM, az Imagination Technologies, az LG és a MediaTek pontosan milyen implementációkkal készülnek a mobileszközök szegmensében.
A HSA 1.0-s specifikációjának érkezésre mindenképpen komoly lendületet adhat a technológia terjedésének, amire bizony nagy szükség is van.
A kapcsolódó dokumentumokat itt találják az érdeklődők.