Hirdetés

Keresés

Hirdetés

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

  • Pikari

    addikt

    A legfontosabb változás mégis az AVX2 utasításkészlet bevezetése, mely új 256 bites lebegőpontos feldolgozókat is kapott.

    micsoda előrelépés!
    (nem, nem az, életemben kb 1x láttam 80 bites lebegőpontos számokat forráskódban, az is inkább csak elírás lehetett, mint valódi szűkséglet. a 64 bit bőven elég.)

    Egy Haswell processzormag két darab 256 bites vektorfeldolgozót alkalmaz, amelyek összesen 16 darab FMA operációt végezhetnek egy órajel alatt
    ennek nincs értelme, ennyit nem lehet kötegelni. egy szoftverben tipikusan különböző típusú műveletek jönnek egymás után, és nem ennyi ugyanolyan. talán a mátrixszorzáson (oda a 16 kevés, ezért kettőt kell indítani, ami önmagában már 2x5 órajeles késleltetés lesz, plusz amíg összekotorja magát) és az egymás után pakolt interpolálásokon (oda a 16 sok) segíthet.

    (az FMA késleltetése öt ciklus).
    pont 5 ciklussal több, mint amekkorának lennie kéne az effektív felhasználhatósághoz.
    és akkor ezzel a jelentősen gyorsabb mátrixtranszformáció szerű felhasználást pont ki is nyírtuk szépen.

    imho ezt az egységet szét kellett volna szedni kétfelé, és úgy megcsinálni, hogy ne legyen késleltetése (vagy ha igen, akkor 1 órajelnél semmiképp se több)

    ez így önmagában értelmetlen, de talán majd egyszer, ha jelentősen gyorsítják, több értelme lesz.

    mely az adatpárhuzamos processzorok esetében egy hatékony rendszer a memória kezelésére, mivel egyszerre több memóriacímről olvas
    a különböző típusú műveletekhez mind különböző, egymással távoli rokonságban sem álló gather szerű műveletek kellenének, egy TMU algot fog is vagy 5%-ban fog gyorsítani.
    erre is kár volt a tranyókat pazarolni.

    Az Intel bevallása szerint a setup motort teljesítménye kétszeresére nő
    akkor talán a terrain kirajzolás mostantól akár a radeon 8500 szintjének a felét is elérheti.

    Ez lehetővé teszi, hogy a webkamera által közvetített adat dekódolása a korábbinál energiahatékonyabb legyen
    az jó, mert a linuxos drivereket elnézve minden webkamera saját formátumban adja a képet, amit aztán már algoritmikusan kell ide-oda kódolgatni. a beérkező kamerakép dekódolása meg annyi féle, ahány csevegőszolgáltatás van...

    Az Intel szerint ez a jól megírt programok számára transzparens
    legyünk őszinték: szarul van megtervezve, és a programok egy része el fog tőle durranni.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz Abu85 #88 üzenetére

    nem igazán lehet megoldani másolás nélkül.

    ahhoz, hogy a memóriaterületeket átpasszold a gpunak:

    -át kell copyzni a szűkséges memóriacímen lévő adatokat user módból (copy_from_user). ehhez a kernel segítsége kell, ugyanis:

    -az user módban futó program - az egy user módban futó program. hogy mit csinál, az az ő dolga. a kernel segítségével kezeli a memóriát, ő önmagában nem rendelkezik hardveres szempontból memóriakezelő funkciókkal. szépen mallocol, reallocol, freeli a memóriaterületeket, ahogy ő akarja. hogy az ő memóriaterületei hol vannak, azt igazából senki se tudja (persze azt tudni, hogy mi van hozzá rendelve a programhoz, de hogy azon belül mi/hogy van kialakítva, az a rendszer számára már homály)

    -a kernel sem tudja, maga az opreációs rendszer sem, nemhogy a gpu drivere.

    -tehát ahhoz, hogy megkaphassa a driver ezeket, úgy a kliens driveren keresztül át kell passzolni a szűkséges memóriaterületet a kernel módú drivernek (amihez vissza kell kapcsolni a processzort valós módba), aztán a driver a kernel segítségével (természetesen az adott szoftver utasítására, az adott szoftver közreműködésével) a megadott pointeren keresztül kihúzza az adott hosszúságú memóriaterületet, átmásolva a driver egy SAJÁT, máshogyan címzett memóriarekeszébe (amihez előtte kell egy kernel módú memóriafoglalás, majd a legvégén persze egy törlés).

    -ha ott van, akkor kezelni kell magát a hardvert, egy kvázi gépikód szerű adattömegről van szó, amelyet a gpun akarunk futtatni, ahhoz több száz- ezer-tízezer órajeles latencyvel bíró ormótlan hívásokat kell benyalatni a hardverrel. ilyen nyalánkságról nem is beszélve, hogy memóriát kell neki foglalni a grafikus hardveren belül, be kell bootolni egy pár százezer kódsoros mini operációs rendszert (!) a grafikus kártyában, azon belül az ütemezőre fel kell fűzni a futtatni kívánt gpgpu kódot a gpu ütemezőjére, törölni kell az összes regisztert, meg kell öntözni a virágokat, etc etc etc

    -a gpu külön memóriájába való belemásolás már jobbára megspórolható innentől már, ha egy ramon vannak, persze, csak innentől meg remélem érzi mindenki, hogy ez igazából már rég mindegy... :D

    -az eszköz elvégezte a feladatát. ki kell transferelni az előbb betöltött memóriamennyiséget valós módból user módba, megint csak a kernel segítségével

    -felszabadítani a memóriát, aztán return

    a teljesítménynek olyan 80%-a megy a pocsékba, mint overhead.

    nem, nem lehet vele mit csinálni, kivéve ha teljesen új processzort tervezünk a nulláról, se az arm-al nem lehet máshogy, se az x86-aé, se a mips-el, se semmi mással, ami user módban futtatja a programokat. Na jó, DOS 6.22-ből meg lehetne csinálni :D

    vélemény: nem kell gpgpu. egy erős, sok magos, jó processzor kell, ami el tudja látni a gpu feladatát is.

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz ddekany #94 üzenetére

    megoldhatónak megoldható, de a jelenlegi koncepciók alapján nem.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz P.H. #96 üzenetére

    én sem, egészen addig, amíg el nem olvastam a tiedet

    ,,hanem az utasítás végrehajtásának'' ... ,,ennyi idő alatt van készen egy művelet''
    nem, ez nem 5 órajelbe fog kerülni, hanem MINIMUM 5-be. óriási különbség!

    ,,A 256 bites lebegőpontos végrehajtók NEM 256 bites számokon dolgoznak''
    hanem 32 biteseken, 64 biteseken, 80 biteseken, 128 biteseken, vagy 256 biteseken...

    ,,A SIMD nem egymást követő utasítások kötegelésére való''
    a SIMD egyetlen lényege hogy kevesebb utasításból tudj megcsinálni bizonyos műveleteket. definíció szerint: ,,single instruction, multiple data rövidítése''

    ,,hanem egymást követő adatokéra''
    ez makes no sense

    ,,Minden utasításnak - a legegyszerűbbnek is, mint két egész szám összeadása - legalább 1 ciklus a késleltetése''
    nem, nem igaz az, hogy minden utasítás szűkségszerűen legalább 1 ciklust elvenne

    ,,szakmai''... ,,szakmaian hangzó köntös''
    mi bánt ennyire? szakmaiság, hmm. vajon mi lehet ez? szóval ezzel kapcsolatban vannak neked hiányosságaid, és negatív tapasztalataid múltban. esetleg az érvényesülés tekintetében, és ezt kompenzálod a bizonyos szakmaiságra való törekvéssel. remélem, hamar sikerül megoldanod, és teljes életet élhetsz majd ;)

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz P.H. #100 üzenetére

    ,,mikor ennyi?''
    ezt is max az intel tudná neked megmondani.

    ,,mennyi a maximum?''
    azt én nem tudom neked megmondani, max az intel. én max egy elnagyolt tippet tudok adni: 40 (de fogadni azért nem fogadnék rá)

    ,,Kérlek mondj olyan utasítást, amely 128 vagy 256 bites lebegőpontos számokkal dolgozik; vagy innen olyan adattípust!''

    nemtom megnyitni a dokumentumot. NEM TUDOM, hogy van -e rá utasítás az általad linkelt dokumentumban, vagy leírás arra, hogy hogyan használhatod fel, vagy hogyan kell konvertálgatni, hogy felhasználhasd, de a long double pl 128 bites (i386 archon 80 bites, compiler függő) az kb 15 éve működő félig meddig processzor szintű, félig meddig szoftveres szintű feature...

    ,,hanem hogy n elemű tömb(ök)re ugyanannyi műveletből álló for-jellegű ciklus n helyett - adattípustól függően - csak n/2, n/4, ..., n/32 alkalommal fusson le''

    megint csak makes no sense.
    akkor gondolom nálad az FMA sem SIMD, hanem a gerinchúrosok körébe tartozik :D

    ,,AIDA-mérésben''
    az aida nem releváns ilyen kérdésekben, soha nem is volt az. fogd meg szépen az intel hivatalos MIPS értékeit, majd hasonlítsd össze a magok számával és az órajellel. meg fogsz lepődni. örömteli, hogy elkezdted legalább a lebegőpontos számok működését tanulmányozni, mielőtt ilyen pointless vitákba vágsz bele, de akár a processzorok felépítésének is utánanézhetnél.

    ,,Mutatsz ebben az AIDA-mérésben''
    mi az hogy *ebben*? ki vagy te, hogy meghatározod, hogy én honnét mutathatok mit? egy kissé el vagy tévedve szerintem

    ,,Adhatsz linkeket, hivatkozásokat bőven, gondolom, nem magadtól találod ki ezeket.''

    gondolom erről a képről sem látod azonnal, hogy vajon mi lehet annak az oka, hogy miért nem tudod megmondani, hogy egy utasítás hány órajel alatt fut le.
    szerintem a beszélgetésünk itt befejeződött, mr mutasdmeginnét level 5

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz P.H. #102 üzenetére

    na látom, normálisabb hangnemre álltál, tehát beszélgethetünk értelmesebb hangnemben is.

    ,,Azt, hogy a long double 128 bites, mire alapozod?''
    a sizeof(long double)-re szokás alapozni

    ,,FMA'',
    az most mindegy.
    http://en.wikipedia.org/wiki/FMA_instruction_set
    van az FMA nevű utasítás, aztán van egy ilyen simd utasításkészlet, a lényege, hogy ezt a KÉT műveletet (szorzás és összeadás) végezd el. a simd lényege nem csak az, hogy tömbökön végezhess el monolitikus feladatokat, ugyanúgy a lényege az is, hogy az utasításokat összevonják olyan módon, hogy például egyszerre ezt a két műveletet meg tudd csinálni több számon. te kategorikusan letagadtad ezt, amikor azt mondtad, hogy a simd nem egymást követő utasítások kötegelésére való. De. erre IS való. a simd lényege az, hogy megspórold az utasítások kiadását. ennek az egyik módja az adattömbök kötelegelése, a másik módja pedig az utasítások kötegelése, mint az FMA instruction set esetében. de ez nem újkeletű dolog, van pl az SSE1-ben RSQRTF, ami a gyökvonást és az osztást kötegeli egybe. hogy ez mostmár inkább kezd közeledni VLIW -hez, vagy inkább még SIMD. az már egy másik ideológiai kérdés, mindenesetre x86on az SSE része lett.

    a kép, és a többi:
    mondhatni igen. a lényege igazából az, hogy ebből nem egy van, mint ahogy ezt talán említetted is, hanem van belőle mindjárt procitól függően magonként 2-3-4-whatever. éppen ezért egy valódi kódban sosem tudhatod, hogy mennyi lesz az utasításod végrehajtásának ideje, még az adott procin sem, hanem függ az előtte és mögötte kiadott utasításoktól, és ezen utasítások számától is. üresjáratban pörgetni nincs értelme. persze van, ha az ember benchmarkolni akar, de valódi felhasználás számára ez inkább csak egyfajta tájékoztató jellegű dolog. a 40-et hasraütésre mondtam, igazából fogalmam sincs, én szélsőséges esetekben ehhez hasonló extrém értékekkel szoktam találkozni - szerencsétlenségemre főleg olyan helyeken, ahol igazán kéne a teljesítmény. nem lehet megjósolni, hogy az adott utasítás hány órajelet fog megzabálni. egy sima integer reg+=reg összeadásra lehet azt mondani, hogy nagyjából kijön 0.5-3 órajelből minden körülmények között, de a komolyabbakra sajnos már nem igazán. a simd utasítások valódi felhasználás során pedig rengeteget kajálnak, nekem ez a tapasztalatom.

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz P.H. #104 üzenetére

    Beismerem, tévedtem! valójában nincs is olyan adattípus már vagy 15 éve, hogy long double, csak most találtam ki! a lebegőpontos számokat AMD64 óta valójában nem is SSE2+aboveval számolják, tehát nyilván ezeket sem! a processzormagban nincs több pipeline, se elágazásbecslés! minden dekódolás egyfázisú, tehát a képet, amit belinkeltem, most hamisítottam paintban, és lefizettem az arstechnica rendszergazdáját, hogy töltse fel, csak azért, hogy szivassalak, és összezavarjam a megkérdőjelezhetetlen tudásod. Minden annyi órajel, amennyit az intel ráír, és RSQRTF sincs x86on! Soha életemben nem írtam még assembly kódot, éppen ezért találhattam ki azt, hogy azt hazudom, hogy van RSQRTF, pedig valójában NINCS! De téged nem lehet átverni, hisz te tudod, hogy nincs. http://asm.inightmare.org/opcodelst/index.php?op=RSQRTSS ezt a linket is csak most hamisítottam, aztán meg a microsoftot is lefizettem, hogy kamuzzák be az msdnre http://msdn.microsoft.com/en-us/library/2h228y72%28v=vs.80%29.aspx ! NINCS RSQRTF!

    NEKED VAN IGAZAD! Te egy hős vagy, tudásod immár megkérdőjelezhetetlen.
    én pedig egy tré tróger ember vagyok, aki hazudtam mindenről...
    hazudtam reggel, délben, és este. minden az én hibám! én vagyok a hülye! én vagyok az, aki nem ért hozzá!

    summa summarum, az én kurva anyámat! :D

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz #95904256 #106 üzenetére

    rsqrtf, mint reverse suqare root, floatra. x86on az ezt kivitelező simd utasítás neve RSQRTSS
    (RSQRTSS--Scalar Single-Precision Floating-Point Square Root)

    (de ennél mélyebbre lehetőleg már ne süllyedjetek, a saját érdeketekben)

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz P.H. #107 üzenetére

    ,,és nem oszt semmit semmivel''

    http://4.bp.blogspot.com/-8cGK-05f3oI/T0FOSEvROsI/AAAAAAAABGc/sHYKf5cVLi4/s1600/Jackie-Chan-Meme.jpg

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    csak azért vagyok morcos erre a procira (leszámítva azt, hogy amúgy a fenti flameben természetesen igazam van), mert több magot szeretnék.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz P.H. #113 üzenetére

    ,,Intel-nél hamarosan 512 illetve 1024''
    elképzeltelek, ahogy húzkodod majd magad után az új procit, mint ovodás a bilit, és örömködsz, hogy ,,jaj, mostmár 64 floatot tudok egyszerre összeadni 5 (sic) órajel alatt''. már érzem is az 1% gyorsulást azokon a programokon, ahol az intel kikönyörgi, hogy próbáljanak találni valami helyet, ahol felhasználható lesz majd az az új feature. cpu fiaim, diszappojntálódni vagyok kénytelen bennetek.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz dezz #116 üzenetére

    nem azt mondtam, hogy öljük meg, hanem azt, hogy ésszel.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz #95904256 #122 üzenetére

    ,,A GPU-k is rengeteg magot használnak jól párhuzamosítható műveletekre, de miért? Miért nem a sok ezer bit széles feldolgozók alakultak ki?''

    mert nekik volt eszük. SIMD-el csak bizonyos típusú műveletek gyorsíthatók, amik jó, ha 5%-át kiteszik a teljes kódnak (persze ez feladattól is függ, van, ahol 0). több mag esetén pedig azt dobsz szét, amit csak akarsz.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz dezz #125 üzenetére

    mert a hasamra ütöttem. és gyaníthatólag még mindig közelebb van a valósághoz, mint neked akármilyen más hosszas számításod lenne ;)

    azt még azért tegyük hozzá annak, aki még nem látott ilyet, hogy az adott művelet elvégzéséhez szűkséges adatok memóriában és kódban lévő reprezentációja általában nem is teszi lehetővé azt, hogy közvetlenül SIMD utasításokkal lehessen őket bojgatni, hanem át kell másolgatni őket. így sokszor az is előfordul, hogy amit az ember nyer a vámon, azt elbukja a postán.

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz dezz #127 üzenetére

    ez egy kicsit erős kifejezés, hogy hülye lenne. a coder általában igyekszik olyan jellegű kódstruktúrát kialakítani, ami kényelmesen kezelhető, algoritmikailag könnyen átlátható, ebbe csak úgy simán nem vághatsz bele egy SIMD utasítást kézzel, ennek számos oka lehet, például hogy nem is úgy következnek a feladatok az algoritmusban egymás után, hogy triviálisan, ránézésre lehessen SIMD-et használni, a másik pedig, hogy az adatok nem megfelelően alignáltak (mert miért lennének azok).ha az ember SIMD-et akar a szoftverben, akkor azt bizony úgy kell szó szerint belefosni, (persze tekintsünk el ezesetben a fordítóprogram autómatikus SIMDesítésétől, ami általában - pont ugyanezen okok miatt - szintén nem is túl hatékony)

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz ddekany #129 üzenetére

    az intel számára stratégiai kérdés az x86 kompatibilitás.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    válasz dezz #132 üzenetére

    azért az már kicsit túlmutat a kényelmi kérdésben, hogy a programozók 99,9%-a (igen, hasraütés!) egyáltalán nem használja (persze a compiler révén igen). ez szinte már-már legitimizációs kérdéseket vet fel szerintem.

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

  • Pikari

    addikt

    -rossz helyre jött-

    [ Szerkesztve ]

    A Dunning−Kruger-hatás az a pszichológiai jelenség, amikor korlátozott tudású, kompetenciájú vagy képességű emberek rendkívül hozzáértőnek tartják magukat valamiben, amiben nyilvánvalóan nem azok.

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