Keresés

Hirdetés

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

  • con_di_B

    tag

    válasz Oliverda #50 üzenetére

    Én az itthoni gépemben teljes AMD platformot üzemeltetek, mivel általában nekem szimpatikusabb megoldásokat szállítanak, de mivel nyár óta OpenCL-el foglalkozom hivatásszerűen, nekem is el kell ismernem, hogy van, amiben az nVIDIA-nak nagy az előnye.

    Egészen konkrétan az a helyzet, hogy nagy hiba az OpenCL-t egy GPU programozási felületként kezelni, amikor az egy heterogén programozási környezet. A különböző architektúrák összevetésénél el kell fogadni, hogy csodák nincsenek, tehát általában igaz, hogy a rugalmas végrehajtási képességek és a lenyűgőző maximális számítási kapacitások egy tengelynek a két ellentétes oldalán helyezkednek el. Ennélfogva, még az is nagyon gyakori, hogy egy-egy feladatra még a CPU-s OpenCL implementációk (nem mintha olyan túl sok lenne :)) is gyorsabbak, mint bármelyik GPU-s, és a rugalmasság ezen tengelyén az nV architektúrái rugalmasabbak az AMD-féle GPU-knál, ahol például a folyamatvezérlés nagyon nehézkes. DE egy CPU-hoz képest még az nV-nek is. Ugyanígy problémák lehetnek a cache mechanizmusokkal is, amik CPU-n beavatkozás nélkül is elég hatékonyak, GPU-n pedig gyakorlatilag explicite kell cache-elni.

    Hogy egy kicsit a cikkhez is szóljak, az jön le a javasolt megoldásról, hogy magas kapacitásra gyúrnak inkább, de egyáltalán nem biztos, hogy általános esetben ez a a szerencsés felépítés. A jelenlegi megoldásoknál a regisztertömbök mérete még korlátja a párhuzamosan aktív végrehajtó egységek számának, ezen kívül pedig a global memory prefetch is csak a Fermiben van úgy-ahogy támogatva. Egy szó mint száz, a memóriakezelésről fontosabb lenne beszélni, a "hiearchiába kell szervezni" mondatfoszlány valamire ilyesmire utalt, hogy lesz cache, szerintem.

    Meg persze ha nem feküdne ki egy-két elágazástól (lásd divergent branch) az sem lenne hátrány. :)

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