Keresés

Új hozzászólás Aktív témák

  • vanhalen

    senior tag

    válasz Abu85 #69 üzenetére

    :DDD :DD :DDD :DD :DDD

    (#71) Cybertrone: Nem hülyék? De hát hülyére keresik magukat HPC vonalon, hogy mondhatsz ilyet :DDD

  • X Factor

    addikt

    válasz Abu85 #53 üzenetére

    Mindenesetre jó volt olvasgatni a "kis" párbeszédeteket, ha valakit tényleg érdekel a téma, megint okosabb lett.

  • Meteorhead

    aktív tag

    válasz Abu85 #53 üzenetére

    Ez persze rendben van. De mint OpenCL programozó, számomra megváltásként érkezik, hogy nem kell majd vért izzadva vektorizálni kódot, mert VLIW végrehajtók helyett skalár végrehajtók lesznek. Persze, a compiler megpróbál auto-vektorizálni adatfüggőség alapján, de vannak algoritmusok ahol borzasztó rossz eredményt ad. Ezért nagyon félrevezető a vektor jelleg, mert egy szál skalárműveletekkel operál.

  • Meteorhead

    aktív tag

    válasz Abu85 #40 üzenetére

    Tisztában vagyok vele, hogy VLIW nem teljesen vektorfeldolgozó (különbség annak aki nem tudná, vektorfeldolgozók ugyanazt az utasítást küldik le a sávok mentén, csak más adaton, míg VLIW (Very LongIntruction Word) egy utasításba pakol különböző műveleteket, amik egyszerre tudnak végrehajtódni a feldolgozón).

    A SIMD kifejezéseket lehet használni, de talán az egyszerűség kedvéért érdemes félretenni őket. Amit mondasz, az majdnem igaz, de mégsem. Azért nem igaz a 4 db 512 bites vektorfeldolgozó, mert az igaz, hogy ugyanazon műveleteket hajtják végre más-más adaton, de elágazni vektor jelleggel nem lehet, ezek meg külön szálak, amik el tudnak ágazni egymástól. (if-else, és igen, azt is tudom hogyan korlátozódik ez GPUn)

    Fermi végrehajtókban dedikált INT és FP skalárvégrehajtó van (amik akár egyszerre is dolgozhatnak), ezekből van 32 egy CU-ban, ennyi tud egyszerre futni, ezért 32 a warp-size.

    Evergreen (VLIW5) esetében 16 darab 5 széles VLIW egység van, ahol 16 szál tud igazából egyszerre futni, de 64-nél kevesebbet nem tud kezelni egy CU, ezért ekkora a wavefront-size. Ezek a szálak képesek vektorműveletre, de a VLIW jelleg miatt ennél bonyolultabb dolgokat is tudnak csinálni.

    Northern Islands (VLIW4) kiiktatja a speciális egységet, és a transzcendens műveleteket (MOD, SIN, COS, ...) három mezei végrehajtó összekapcsolásával érik el. Így mezei műveletekre nagyobb kapacitás marad.

    Southern Islands sokkal jobban hasonlít Fermire, avval a különbséggel, hogy itt nincs dediktált INT és FP egység, hanem ugyanaz a végrehajtó végzi mindkettőt. Egy CU-ban most már nem 16 VLIW4 feldolgozó van, hanem 4 darab külön életet élő 16 utas SIMD. De ez azért több egy 64 utas SIMD-nél, mert a 4 fürt SIMD egység egy CU-n belül tényleges elágazást is végezhet egymástól, sőt akár halál más dolgot is számolhatnak. Az nincs megkötve, hogy ugyanazt a shadert (vagy kernelt) kell futtatniuk. A CU definíciójában csak az van, hogy közös memóriaterületet szolgáltat a benne lévő szálak számára Az nincs benne, hogy azoknak a szálaknak egy wavefront/war-ból kell hogy származzanak, sőt még az sem, hogy ugyanannak a kódnak kell lennie.

    A hozzászólásod egyébként túlnyomó többségben igaz, nagyrészt csak kötekedem, de szerintem így talán tisztábban látni a különbségeket, mert vannak bőven.

  • Cybertrone

    veterán

    válasz Abu85 #47 üzenetére

    Miért hozzák vissza azt ami egyszer már problémás volt? Amúgy ha jól értem valószínű a high end kártyák fognak kiaknázni minden dx11.1-es ficsőrt, a többi az le lesz butítva, kb így kell érteni?
    Nv oldalról mit tudsz, ők hogy próbálkoznak megoldani a keleti kérdéseket, számodtevő újítások lesznek? Mit gondolsz arról hogy a chip csak jövő év végén lesz kész, halottál esetleg valami problémáról, ami esetlegesen megosztható? :R

Új hozzászólás Aktív témák

Hirdetés