Új hozzászólás Aktív témák
-
P.H.
senior tag
A HSA a leírt két definíciód között van (ahogy az említett nVidia PTX is pl.):
- API sok helyen és sok szinten van, előre megírt/megvalósított eljárások összessége, pl. legalapvetőbben OS szinten is így megvalósítható az, hogy egy-egy alkalmazás memóriát foglaljon, írjon/olvasson lemezre, mutasson valamit a képernyőn úgy, hogy ne kelljen a legalacsonyabb szinten megvalósítani külön-külön minden programozónak ezeket (és/vagy az egymás mellett futó programok ne zavarják egymást). Ilyen szempontból a BIOS egy része is API ugyanúgy, ahogy az OpenGL is az, de más-más szinten és célra.
- az utasításkészleteket közvetlenül megértik a CPU-k, GPU-k, vezérlők (pl. egy-egy SmartCard-szabványnak is eltérő utasításkészlete van, amit megért); ritkábban a nekik megfelelő gépi kóddal, gyakrabban az azt leképező assembly nyelvvel közvetlenül használhatóak (ez például az R600-ra épülő Radeon GPU utasításkészletének leírása). Így bármi megírható rájuk, de az csak azon az architektúrán fut egyáltalán vagy hatékonyan.
A HSA, a PTX és a többi virtuális ISA a kettő között van: a hardware nem érti meg közvetlenül, ezért fordítani kell külön ARM-ra, x64-re, nVidia-ra, bármire, ami támogatja, de assembly nyelven leírható elemi utasításokból épül fel (mint pl. a PTX), magasabb szintű programozási struktúrák nélkül (nincs for ciklus vagy while se). Egy-egy ilyen vitruális utasítás gépi megvalósítása lehet direkten leképezhető egy-egy gépi utasításra (erre törekszenek a HSA-nál a belépő támogatók, a PTX-nél az nV), vagy sokra (ez a teljesítmény rovására megy, de korábbi hardware-ken is futnak az újabb verzióra épülő programok; gyenge példaként mintha egy AVX-re fordított program is futna egy P3-mon, csak lassan - ezért jó hasonlat a Java).
Kb. ilyen a viszony a tradicionális API-k és a virtuális ISA-k között, amit ez a dokumentáció mutat , címe "Using inline PTX assembly in CUDA". A PTX-re lefordított bytekódot az nVidia semelyik GPU-ja nem érti meg közvetlenül (a CUDA-programozási környezetek erre fordítanak), a driver-ben van a végső fordító. Viszont egyrészt egyszer, a program az indításakor fordul le PTX-ből arra a gépben levő GPU által megértett gépi kódra, futás közben nem lassít a fordítás ˇ(lásd Java), másrészt erre a szintre lehet más komolyen optimalizálni (mivel a legtöbb vISA utasításnak közvetlenül egy-egy gépi utasítás felel meg; amelynek most nem, annak a következő generációs hardware-ben már meg fog).
Új hozzászólás Aktív témák
ph Az 1.0 draft specifikációk elkészültek, így létrejött a HSA alapítvány is, amelybe több cég is belépett.
- LG 32GP850-B - 32" NANO IPS / 2560x1440 / 180Hz 1ms / NVIDIA G-Sync / AMD FreeSync / HDR 400
- PowerColor AMD RX5700XT 8GB / Újszerű állapotban / 6 hónap jótállással / számlával
- DELL PowerEdge R640 rack szerver - 2xGold 6138 (20c/40t, 2.0/3.7GHz), 64GB RAM,4x1G, H730 1GB, áfás
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- AKCIÓ! Lenovo Legion Slim 5 Gamer notebook - R7 7435HS 16GB RAM 1TB SSD RTX 4070 8GB GDDR6 WIN11
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest