Hirdetés

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

  • Abu85

    HÁZIGAZDA

    válasz Raymond #29758 üzenetére

    Nem tudod ezeket kiváltani. Ezek mind azért jönnek mert az aktuális megoldások nagyon lassúak, és ezeknél sokszor még az emulació is jobb. A Ballot préselésnél megspórolja az atomi műveleteket, esetlegesen marha sokat. Persze megoldható naiv megközelítéssel is, de ha ez elég lenne nem dolgoznának a szabványalkotók a Ballot szabványosításán. A prefix sum esetében a vektorutasítások hozzáférhetnek a szomszédos lane-el adataihoz anélkül, hogy az LDS-be kellene írni bármit is. Ha arra van szükséged, hogy a wave-ek a létrehozásuk sorrendjében fussanak le, akkor muszáj a ordered countot használni. Erre egyébként nem a Microsoft nevével keress rá, mert az az SM6-os függvénynév. Ajánlott a GCN ordered atomics, a ds_ordered_count, ezek variációi. A Microsoft specifikációja az XBox One másolata, ami meg az AMD ds_ordered_counthoz van igazítva. Az meg világos, hogy találsz róla kérdést, hogy miképp működik nem GCN-en, mert más hardver nem erre lett szánva, viszont fícsőr szempontjából tök hasznos, hogy csupán egy függvény a háttérben mindent sorrendben "varázsol meg".
    A barycentric eseteben sincs más lehetőség. Opció persze az alternatív eljárás a geometry shaderrel, de olyan lassú lesz, hogy inkább érdemes pixel shader kódot írni a barycentric koordinátákra építve. Egyszerűen meg a legrosszabb hardveres emuláció is gyorsabb lesz a geometry shadernél.
    Nagyon sok esetben mindegy, hogy xy gyártó emulálja. A régi megoldásnál az emulált is lényegesen jobb. Valószínűleg ezért nem érdekli a Microsoftot annyira, hogy minden gyártót figyelembe vegyen. Annyira túlkoros az SM5 feldolgozási modellje, hogy még a legrosszabb emulációk is előnyt jelentenek ehhez képest. De a gyártókat mondjuk érdekelni fogja, hogy az architektúráikon hogyan viselkednek az egyes függvények a konkurensekhez képest.

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