Keresés

Aktív témák

  • Power

    senior tag

    válasz FreeM #73 üzenetére

    Már megint csak a személyeskedés.
    Én csak a szüleidet sajnálom...

    [Szerkesztve]

  • Power

    senior tag

    válasz FreeM #72 üzenetére

    Na!
    Visszatért a sulinet! :)

    ''Tudod normális ember belátja, hogy ökörséget mondott, de te ezt képtelen vagy megtenni.''

    Jaj! Ez már komolyan nagyon fáj!
    Te már kezelésre szorulsz :)

    ...

    Látom, hogy már csak a személyeskedésre koncentrálsz, mivel a tényeket, ismeretek hiányában képtelen vagy felfogni.

  • Power

    senior tag

    válasz rudi #56 üzenetére

    ''akkor most elvileg van olyan egész szám amit nem lehet FP16on ábrázolni pontosan mantisszából?''

    Már, hogyne volna?
    Mivel csak 3 tizedesjegy pontosságú ezért egy csomó lehet.
    pl. minden olyan 2048 feletti egész szám pontatlanul ábrázolhatatlan ami páratlan.
    4096 felett már elég, ha nem osztható maradék nélkül 4-gyel és így tovább.

    Az pontosság szempontjából teljesen mindegy, hogy egész vagy sem, csak az számít, hogy hány 2-edesjegyen fér el.
    A 0,1 például 2-es számrendszerben végtelen 2-edes tört, azaz nem ábrázolható teljesen pontosan, míg 0,015625 hiba nélkül ábrázolható.

    ''Ja még valami: digit-life cikkje alapján (talén már linkeltem) az ATI r3xx es hardver minden belső pixel shader regisztere FP24es. ''

    Ez miért fűzöd mindig hozzá? :)

  • Power

    senior tag

    válasz rudi #53 üzenetére

    ''Savagegamers: ''Lebegopontos számábrázolás esetén a kettedespont helye nem fix, hanem a fixpontosként felírt számban vándorol. Egy ''seeemmmmm'' formátumú lebegopontos szám értéke: (-1)^s*2^(e-bias)*1.m, azaz az ''s'' bit meghatározza az elojelet, az e-vel jelölt exponens ketto valamelyik hatványát adja (a ''bias'' egy fix konstans, a nulla érték helyét jelöli ki, így mind negatív, mind pozitív hatvány elérheto), ami a már említett jobbra/balra tologatás miatt az m-el jelölt mantissza eltolását jelenti (normalizát számokról lévén szó, a mantissza elso bitje mindig 1, így azt nem ábrázoljuk, a maradék pedig törtrészt ad meg).''

    Eszerint és szerény tudásom szerint az fp16 valahol 10ad16 nagyságrendjében van maxban és minimuma 10ad(-15) táján van, finomsága pedig 2ad(-15) szóval nemértem hogyan jön a 3 jegy hacsak nem a ((2ad10)/2)-1 fixpontos 10bitbol.''

    Na erre már tényleg írnom kell!!!
    Ha most hétfon írsz, akkor már késo :)

    Szóval a szám mindegyik részét kettes számrendszerben tárolódik, azaz fp16 esetén(nem része a IEEE Standard for Binary Floating-Point Arithmetic'' ANSI / IEEE Std 754-1985 New York szabványnak, nem véletlenül csak 32 bit és afelettitol határozták meg)
    az exponens 5 bites, azaz az exponens -15...+16 tartomány ölel fel(fizikailag van egy ún. Nullpont amihez hozzáadódik a pozitív/negatív elojeles érték az ábrázolásnál - bias vagy minek írták) . Ebbol következoen a nagyságrend 2^-15 és 2^16 között van.
    Ez tízesszámrendszerben 15 * log(2) ~ 4,5 azaz 10 ^ -4,5 ... 10^+4,8

    Na most ez még nem olyan nagy baj, hisz ez könnyen megoldható programozási oldalról, hogy a nagyságrendbol nem lépünk ki. Gyakorlatilag a nem a nagyságrend miatt szoktak 64/80/128 bites lebegopontos számításokat alkalmazni, hanem a pontosság miatt.(Egy FP64 szám nagyságrendje 10^308-as ami a csak nagyon kevés helyre nem elég).

    A pontosság viszont csak a mantisszából ered s ez független az exponenstől.

    Vegzünk egy egyszerű példát:

    6730

    1101001001010 (2-es számrendszerben)

    Normalitzáljuk: 1,101001001010 * 2^12 - itt 12 számjegy van az vezeto egyes után, viszont nekünk csak 10 bitünk van, így az utolsó két jegy elveszik.

    Tehát 1,1010010010 * 2^12 - ez csak 6728. Hopp már a 3-dik számjegy nem jó! Ha felfelé kerekítünk akkor 6732 az eredmény, így csak a negyedik számjegy nem jó(bár az eltérés a pontosszámtól ugyanakkora), tehát csak 3 számjegyre pontos az ábrázolásunk bármit csinálunk.
    A valóságban azonban még sokkal nagyobb gond van! Ugyanis számolni is szeretnék a számunkkal.

    A szám nagyságrendjétol most tekintsünk el, hogy az tudjuk ábrázolni majd 16 biten(az exponens miatt - ugyanis a szorzat eredménye végtelen lenne).

    Szorozzuk a 6730-at önmagával -> 45292900, majd osszuk el 6730-cal. Az eredmény a 6730

    16 bites lebegopontos számokkal:
    Adott a (6728) * (6728) = ?
    Ez binárisan áll egy mantissza szorzásból, az exponenseknél pedig csak összedás van.
    1,1010010010 * 1,1010010010 = 1,010110010101101000100 * 2^1
    Azonban továbbra is csak 10 jegynek van hely az egyes után, így: 1,0101100101 * 2^25 ami csak 45252608
    Na osszuk el 6728-cal:
    1,0101100101 * 2^25 / 1,1010010010 2^12 = 1,1010010001 * 2^12 (s ez már csak 6724)
    Könnyen belátható minnél több muveletet végzünk annál nagyobb lesz a számolási hiba. Simán nem tartahó a 3 jegy pontosság összetettebb számításoknál.

    Te:''Úgy néz ki hiányosak az ismereteid számábrázolás és ATI számhasználat terén is.''
    Én: ''Ha valamit máshogy tudsz, mint ahogy van, az nem biztos hogy téged igazol.''
    TE: ''Ezt nemértem? ... ''

    Így érthető?

    ''szép-szép...''

    Szép bizony! :)

  • Power

    senior tag

    válasz rudi #50 üzenetére

    ''Hát syomorú amit műveltek mindkét oldalról...''

    Ez tényleg syomorú.

    ''Valahol (2es számrendszer egészek) igaz hogy a 8bites szám 8 számjegyet ábrázol de ebben a DX9 esetben ez NEM áll. Erre lehet FreeM módjára reagálni és lehet másképp: ''

    Dehogynem. Az FP16 se5m10 alakú. Azaz 10 darab 1 bites számjegyet ábrázol ez tizesszámrendszerben pont 3.

    ''Kedves Power!
    Úgy néz ki hiányosak az ismereteid számábrázolás és ATI számhasználat terén is. ''

    Ha valamit máshogy tudsz, mint ahogy van, az nem biztos hogy téged igazol. :)

    ''1. Saját érdekedben nézz rá Tessier www.savagegamers.hu-n található cikkére amiben foglalkozik számábrázolással vagy látogass be valami nyilvános egyetemi előadásra számítógépes architektúrákkal kapcsolatban (Veszprémben Dig Rendszerek és Számgép Arch indul februárban és az első 1-2órán elmondanak mindent ami fontos számábrázolásban - valahol fenn van az előadások anyaga, ha érdekel megkeresem). Másik megoldás hogy megnéyed az IEEE weboldalán a leírásokat az ő hivatalosan szabványban rögyített típusairól.''

    Talán a informatika-i Ph.D. után és az 2 év egyetemi oktatás után nem biztos, hogy én szorulok rá a savegamers-re...bár biztos igazad van. :)
    Hisz nem a nagyhírű Veszprémben, hanem a BME/Berkley egyetemén hallgattam és adtam az előadásokat.

    ''3. ATI TELJES MÉRTÉKBEN Microsoft DitectX 9.0-ra tervezte az r300as chipet MINDENHOL követve annak MINIMÁLIS igényeit, ahogyan ez a digit-life-s cikkből is kijön, szóval általában 24bit maximum. ''

    Rég nem erről van szó. Amúgy ennek az ellenkezőjét senki nem állította.

    ''FreeM: lehetne mellőzni a reakciós politikát végre?! Ez itt a PH! fórumán nem FIDESZ VS MSZP stílus hanem aki tud valamit megosztja a kevésbé tudókkal és EMBERI, CIVILIZÁLT módon!!!''

    Kösz, hogy ilyen címen szólítasz, inkább annyit mondok mint FreeM-nek először tanuljatok-olvasatok s csak utána szóljatok.


  • Power

    senior tag

    válasz FreeM #48 üzenetére

    ''Persze ezt is rosszul látod!''

    Persze... :)

    ''Az, hogy valami hány jegyre pontos, az nem ugyanaz mint hogy hány számjegyet képes ábrázolni!''

    Akkárhogy szépíted megint beégtél, de hát ezt már megszoktuk. A hány jegyre (tizedes) pontos helyes megfogalmazás volt és erről volt szó. Ez csak 3, szóval felesleges höbörőgnöd. 10 biten a tudomány mai állása szerint ennyit lehet ábrázolni.

    ''E4D2
    8000
    4248
    3C0A''

    MegaLOL! BE vagy LE?

    ''Miért van megint olyan érzésem, hogy se kiszámolni nem fogod tudni ezeket, se rádöbbenni nem leszel képes, hogy megint milyen iszonyatos zöldséget mondtál?!''

    Írod ezt a sötétség magabisztosságával.

    ''Akárhogy is szépítjük a dolgot, ezt megint iszonyúan beszívtad!''

    Neked ez a mániád :) Biztos kiskorodban sokat szívattak, mert ez már rögeszme nálad.

  • Power

    senior tag

    válasz FreeM #43 üzenetére

    ''Szóval a FP16 3 jegyre pontos? Jó legyen, te viszont azt állítottad, hogy a 8 bites fixpontos ábrázolásnál (FX8) nem ér többet, azaz nem pontosabb ami viszont 0 jegyre pontos. Tehát szerinted 3 <= 0 áll fenn!''

    Látom a matekkal is problémáid vannak szerinted egy 8 bites szám, 0 számjegyet képes ábrázolni?
    Ezek után teljesen mindegy mit írok, mert azt is kijelenheted, hogy a 2+2 az 59. És még meg is vagy győződve róla :)

    ''Ha neked külön élvezetet okoz, hogy rendszeresen szénné égeted magad ezekkel az emeletes baromságokkal, akkor megnyugtathatlak, nagyon jó úton jársz!''

    Ez a legjobb. :DD
    A bagoly ordítozik.

  • Power

    senior tag

    válasz FreeM #41 üzenetére

    ''Látom rendületlenül elkötelezett híve vagy a téveszmék terjesztésének! Ha ezt a legutóbbi aranyköpésedet a shader regiszterekre is értetted, akkor sikerült saját magaddal is súlyos ellentmondásba kerülnöd (ha belül az ATI 32 biten számol, akkor hol a 24 bit?''

    Milyen 24 bit barátom? Ezek fixpontos műveletek? Itt csak 8/16/32 bit lehet. Ez a DX9 előtti chipekre vonatkozik, MEGALOL, hogy ennyire nem tudsz különbséget tenni a múlt idő és a jelen idő között.

    Ha kicsit is értenél hozzá, akkor tudnád, hogy az fp16 csupán 3 jegyre pontos ami csupán szerinted elég számolásra. Egy komplexebb számításnál már annál is kevesebb. Konstansnak jó, de nem számolásra. Tanulmányozd csak a szagirodalmat, bár úgyis hiába nem vagy képes fel fogni a különbséget.

  • Power

    senior tag

    válasz rudi #37 üzenetére

    Ilyen alapon akkor ez most is áll.
    Itt ülök 2 GB RAM előtt és olyan programot futattam, aminek a minimum az 1G és azon csak vánszorog(2 hete még nekem is csak vánszorgott az 1G-val).
    Ez pont nem sw előbbrejárását fejezi ki, ha a hw nyújtotta lehetőségeket nem próbálja optimálisan kihasználbi.
    Szvsz nem osztom a véleményt, hogy a win3.1 tájékán a sw járt előbb.

  • Power

    senior tag

    válasz ArchElf #20 üzenetére

    ''És végre talán elfelejtődik ez az ATi/nVidia 16/24/32 bit lebegő pontos-szám mizéria...''

    Ebben azért nem lennék olyan biztos.

    Az sztem továbbra is megtartja a 12/16/32-t. Míg az ATI full 32-n fog dolgozni.
    S így megint egymásnak feszülnek a durcás vörös fejű kisgyerekek, hogy ez a gyorsabb avagy az.

  • Power

    senior tag

    válasz Goose-T #30 üzenetére

    ''Azért nem volt ez mindig így. Te biztos nem futtattál 386-oson Windows 3.1-et. Akkor bizony nem járt elôbbre a HW, mint a SW.''

    Megvolt az is :)
    Kifejtenéd bővebben, mert nem igazán értem mire gondolsz.

  • Power

    senior tag

    válasz xuldar #19 üzenetére

    Csak kérdeztem.
    Amúgy azt hittem erről nem tudnak.
    ''Tavaszra mikor megjelenik már több lesz.''

    :)) :)) :))

  • Power

    senior tag

    válasz e-biza #13 üzenetére

    Tavaszra mikor megjelenik már több lesz.
    Egyébként is a hw mindig a sw előtt jár.
    Továbbá aki csúcskártyát vesz, az úgyis megveszi.

  • Power

    senior tag

    válasz e-biza #4 üzenetére

    Szinte biztos, hogy fix 32 bites lesz(azaz inkább 4*32, 128 bites).
    Mindig is a fix belső számolás volt az ATI chipekben, még amikor az gforce-ok 16/32 biten számoltak, már akkor is 32 biten számolt belül.
    Semmi értelme nem volna a 24 bitet meghagyni sok felesleges tranzisztor lenne, a 16 bitnek meg nincs létjogosultsága ugyanis nem elég pontos(nem ér többet mint az fixpontos 8 bit).

Aktív témák

Hirdetés