Szerző: Gálffy Csaba

2012. február 6. 08:12

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.

Toxikus vezetők szivárványa

Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

Toxikus vezetők szivárványa Az IT munkakörülményeket, a munkahelyi kultúrát alapjaiban határozzák meg a vezetők, főleg ha még toxikusak is.

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.

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról