Megjelent a Microsoft AMP specifikációja
Kinyitotta az AMP specifikációját a Microsoft, így nyitva a lehetőség a szabad szoftveres implementáció előtt is. Az AMP ambiciózus projekt, célja egységesíteni a párhuzamos programozást a CPU és GPU architektúrák között.
Publikálta az AMP (Accelerated Massive Parallelism) névre keresztelt technológiájának specifikációit a Microsoft. Az AMP fejlesztését tavaly júniusban jelentette be a Microsoft, a projekt célja egy olyan általános heterogén programozási rendszer kidolgozása volt, amely egyesíti a CPU és GPU architektúrákat. A projekt keretében a Microsoft az NVIDIA-val és az AMD-vel is szorosan együtt dolgozott.
Az eredeti bejelentés az AMP specifikációját teljesen nyitottnak ígérte, a Microsoft szerint erre szükség van a nyelv és keretrendszer teljes körű adoptációjához. Ígéretéhez híven a szoftverház most nyilvánosságra hozta a specifikációkat, így a technológia a cég saját megoldásain kívül is implementációt nyerhet. Ez különösen fontos lépés lehet, a GPGPU illetve a heterogén programozás térnyerését eddig az egységes programozási nyelv hiánya alaposan visszafogta.
Egységes programozás
Az AMP a Microsoft válasza a gyorsan terjedő heterogén processzorokra. Ma már mindkét nagy x86-os processzorgyártó és az összes ARM-os szereplő integrált CPU-GPU lapkákat kínál a mainstream szegmens számára, az integráció foka pedig a jövőben tovább nő. A két részegység architektúrája azonban nagyon eltérő - amit tovább fokoz a különböző gyártók implementációinak eltérő jellege. A hardver fokozatos fejlődésével azonban a szoftverek nem tartottak lépést, jelenleg rendkívül komplex feladat a két részegység előnyeit maximálisan kihasználó, platform-agnosztikus alkalmazások készítése.
Ünnepi mix a bértranszparenciától a kódoló vezetőkig Négy IT karrierrel kapcsolatos, érdekes témát csomagoltunk a karácsonyfa alá.
A Microsoft AMP erre kínálna gyógyírt az egységes programozási nyelv és egy, DirectCompute alapú implementációval. A szabad szoftveres közösségben azonban ez érthető okokból nem terjedne el, ezért szükséges a specifikáció megnyitása - így létrehozhatóak OpenGL/OpenCL alapú fordítók is, amelyek révén a kód hordozhatóvá válik, a nyelv pedig széles körben elterjedhet. Ennek szükségességét a Microsoft is belátja, így nyilvános ígéretet tettek arra, hogy a technológiával kapcsolatos szabadalmakkal senkit nem fognak perbe fogni. Az "ígéret" egy jogilag is érvényes, visszavonhatatlan megkötés, amely a licenc része. Ennek értelmében a Microsoft lemond az AMP releváns szabadalmainak jogairól és azokat csupán abban az esetben használhatja, ha a céget magát fogják perbe.
Az AMP hatalmas ígéretet hordoz a GPGPU és a valóban integrált szoftverfejlesztés számára. A technológia tisztán C++ alapon használható, szemben az OpenCL C és C99 keverékével. Az AMP másik nagy előnye, hogy az OpenCL-lel szemben nem igényel manuális foglalkozást a GPU lelkivilágával. Míg az OpenCL esetében a kód szintjén továbbra is jelentős különbség van a CPU és a GPU számára írt részfeladatokban, az AMP ezt a különbséget erősen elmossa.
Az AMP támogatása a Visual Studio C++ következő verziójában jelenik meg.