Hirdetés
Új hozzászólás Aktív témák
-
charlie_hu
aktív tag
Van (stabil, elérheőt) program ami átlag célra (pl. videó konvertálás) is fel tudja használni ezt?
Tárhely, domain, webszolgáltatások - https://www.awh.hu
-
romero28
senior tag
üdv !
ismerősömnél a következő probléma jelentkezett : egy 2 nyákos 295-ről váltott egy 1 nyákosra és a gpu-z -ben az open cl nincs kipipálva . (a két nyákosnál ki volt) win7 és legújabb nv driver van fenn a gépen . mitől lehet ez
-
sghc_toma
senior tag
kijott az Ati Stream SDK 2.0-beta4, mukodik vele a GPU gyorsitas.. meg tamogatja a 64 bites Windows-okat, koztuk a Win7-et is.. [link]
[ Szerkesztve ]
in asm we trust
-
sghc_toma
senior tag
sry, hogy csak most valaszolok, kicsit el voltam havazva..
kosz, hogy kiprobaltad a progit!
otthon en is ki akartam probalni win alatt.. 64 bites Win7-re nem ment az OpenCL SDK (azt mondja, legalabb XP kell neki.. fura, mert OpenCL driver meg van Win7-re).. az Ati SDK-val meg meg nem volt idom foglalkozni.. talan a heten.."de-de az az én gépem lesz"
na, akkor jol sejtettemin asm we trust
-
karicska
tag
Már lefordul és fut is
NVidia SDK: ha a bináris fájl betöltést kikommentezem akkor semmi gond.
ATI Stream SDK 2.0 beta3: ha kikommentezem a bináris fájl betöltést akkor problémázik a program végén, hogy a binary változó nem ment át a run-time checken. Nem láttam még életemben ezt a hibaüzenetet.
Este ha visszaértem utána járok. Már így is 1 órával többet foglalkoztam vele, mint kellett volna
"Welcome to the real world"
-
karicska
tag
Piszkálta a fantáziám a dolog, úgyhog megnéztem, de nem nyert, röpke 102 error + 45 warninggal fordult :S
Az első hiba: error C2275: 'cl_platform_id' : illegal use of this type as an expression
Visszaérek este valamikor aztán megnézem pontosan.
Az én kódom eddig tök ugyanez (van egy két kiiratás de az nem zavar be ) és nekem lefordul. Ugyanabba a környezetbe raktam be, amiben az enyém van. Még dolgozom este rajta.
"Welcome to the real world"
-
sghc_toma
senior tag
válasz sghc_toma #33 üzenetére
javitottam.. meg a peldaprogiban volt egy masik csunya bug is: az eredmeny ellenorzesekor abs-ot hasznaltam fabs helyett, igy egy esetleges hibas szamolas utan is azt kaptuk volna, hogy 1000-bol 1000 sikerult
karicska: esetleg megprobalnad a peldaprogit forditani/futtatni ugy, hogy a 147. sornal kezdodo kommentezett blokkot is beleforditod? OSX-en nem akar mukodni, nem tudom miert.
// es meg valami, ami nagyon off: ismeros volt a nick-ed, rakerestem az e-mail cimedre, latom ELTE-s vagy.. veletlenul nem a nagytetenyi uti koliban laksz? van itt a halon egy gep karics-pc, vagy valami hasonlo nevvel, ez elegge hasonlit a karicska-hoz ..
in asm we trust
-
sghc_toma
senior tag
jogos, koszonom rogton javitom...
meg ha mar szoba jottek az address space-ek, talan erdemes megemliteni, hogy az x lehetne __constant, mert ugysem valtozik az erteke, es a konstans memo cache-elve van (legalabbis CUDA architekturan)..nVidia-nak Win-re es Linux-ra van egy OpenCL Visual Profiler nevu cucca, bar meg csak beta..
in asm we trust
-
karicska
tag
Egy kis javítás a cikkhez:
a parameter cannot be allocated in a named address space -t dob a clBuildProgram ha az "a" paramétert nem __private címtérbe kerül ( ATI Stream SDK-ban, NVidia sdk alatt megy a dolog )Utána olvastam az OpenCL doksiban (Khronos_OpenCL_Specification.pdf 149 oldal ) és azt írják, hogy a __kernel függvények bemenő paramétereinek mindnek __private address space-ben kell lennie, viszont ha pointer a bemenő paraméter az lehet __global, __constant, __local és a címterek közti castolás nem lehetséges.
Tehát a példa progi jól megy NVidia sdk-val viszont Ati sdk-val nem.
Kérdés: tud valaki valami olyan eszközt amivel jól lehet profilozni a futó kódot?
"Welcome to the real world"
-
karicska
tag
Ha asztalid van akkor egy 9600GT-t belehet szerezni 20Ft környékén már simán. Nekem is az van. 9600GT-t használom koprocesszornak 3DMark Vantage-ban így a procim 10000 helyett 21000 pontot kapott!
Törések szimulálásáról a grafikában és ezt gpu-n akarom számoltatni, dióhéjban erről szól a diploma munkám.
Egyébként érdekes lesz ez az openCL-s dolog, ugyanis ma szórakoztam a dologgal egy kicsit.
Feltettem Ati Stream sdk-t és az NVidia-s NBody projektet nem sikerült az Ati -s opencl.dll -l műküödésre bírni (újra fordítottam a projektet és az Ati-s headereket valamint librarykat használtam, majd az Ati-s opencl.dll -t ette meg). Valami felszabadító függvény még nem került bele az AMD-s opencl dll-be. Mellesleg a Stream SDK 2.0 beta-ban jelenleg még csak CPU támogatás van.
"Welcome to the real world"
-
tocsa
senior tag
Nekem is feldobta anno a napom. Egyre izgatottabb vagyok, nem birok varni, hogy ne probaljam ki. Kene egy jo hardver (oke, elvileg csak CPU-t is kezel az OpenCL).
Mirol szol a diplomamunkad?
Acer Predator Helios 500 Ryzen, Samsung 960 Pro NVMe + GeChic 15.6" kulso monitor a mobil irodahoz
-
karicska
tag
2 napja letölthető NVidia driver OpenCL-hez: [link]
Nagyon jó a cikk, már egyébként is foglalkoztatott a dolog, valamint a diplomamunkámhoz is kelleni fog. Amint lesz időm meló és suli mellett rögtön alkotok valamit
Feldobta ez a cikk a napom.
[ Szerkesztve ]
"Welcome to the real world"
-
sghc_toma
senior tag
nincs mit..
az FX570m 256 megajanak nagy resze felhasznalhato globalis memoriakent (nem az egesz, mert ugye ott van meg a kepernyobuffer, konstans memoria, stb. is), igy felfert egyben a ket darab 96 megas vektor a kartyara.. azert ha vesz az ember ilyen 1-2 giga memoval rendelkezo kartyakat, azokon mar jol el lehet ferni..exp-et, log-ot megkoveteli a szabvany, tehat az OCL-t tudo hardverek tudjak..
[ Szerkesztve ]
in asm we trust
-
tocsa
senior tag
válasz sghc_toma #23 üzenetére
Még egy kérdés. Ugyan követtem a CUDA és egyéb technológiák megjelenését, de mély ismereteim nincsenek még. Talán te kapásból tudod a választ.
Az általam portolandó tudományos számítás extenzíven használ exponenciális függvényeket. Az architektúra támogat exponenciális vagy logaritmikus lebegőpontos műveleteket is? Igazából itt most egy kicsit elkezdtem félni is, mert valószínűleg a GPU-ban levő floating-point egységek nem erre vannak kihegyezve/optimalizálva.Acer Predator Helios 500 Ryzen, Samsung 960 Pro NVMe + GeChic 15.6" kulso monitor a mobil irodahoz
-
tocsa
senior tag
válasz sghc_toma #23 üzenetére
Köszi a választ.
Akkor a te általad említett 96MB-os vektoros példában te magad gondoskodtál valami kóddal ennek a feldarabolásáról? Lehetőleg én nem szeretnék ezzel foglalkozni, mert hw függő. Persze írható hw független kód a darabolásra, de elvárnám, hogy a drvier/OpenCL architektúra ezt megtegye.Acer Predator Helios 500 Ryzen, Samsung 960 Pro NVMe + GeChic 15.6" kulso monitor a mobil irodahoz
-
sghc_toma
senior tag
lehet, hogy felreerthetoen fogalmaztan.. azt, hogy nagy vektorok kezelese hardverfuggo, nem ugy ertettem, hogy a driver feladata egy nagy buffert szetbontani kezelheto darabokra.. annyit akartam vele mondani, hogy minden hardver kulonbozo mennyisegu memoriaval rendelkezik, es hogy egy adott architektura akar lehet olyan is, hogy nem tud nagy bufferekkel optimalisan dolgozni (nem tudom, hogy van-e ilyen, de ki tudja)..
gyakorlatilag ez ugy nez ki, hogy az eszkozon elerheto valamilyen mennyisegu globalis, konstans, lokalis, es privat memoria.. ezeket az adatokat az OCL runtime-tol le lehet kerdezni.. ezek, es az alkalmazas memoriaigenyenek tudataban neked kell beosztanod, hogy hogyan gazdalkodsz a memoval.. nagyon nagy adatok eseten mondjuk egy kezelheto darabra lefuttatod a kernelt, visszaolvasod az eredmenyt, aztan futtatod megint a kernelt egy masik adatdarabon, es igy tovabb..
1-2 evet talan nem kell varni, beta driverek mar most is vannak.. ATI vonalon nem tudom, mi a helyzet, de nVidia-ek ugye a CUDA architekturara epitettek az OpenCL implementaciojukat, az meg mar eleg kiforrott..
ja, es ebben a Quadro-ban az a 256 mega/32 stream proci kombo keves tud lenni neha, akkor mar inkabb valami 512MB-os FX770m/HD3650, vagy hasonloin asm we trust
-
tocsa
senior tag
válasz sghc_toma #21 üzenetére
Kösz a választ.
Legszívesebben már most átportolnám a project-et. A float végülis nem nagy érvágás, szerintem még mindig elég pontosságú lenne a number crunching. Ez biztató, hogy 96 megás vektort is vitt a cucc. Mondjuk elvégre is ha ilyen tudományos számításokra gondolunk (márpedig a GPGPU megoldások erre jók), akkor értelemszerűen felmerül a nagy mennyiségű adatok kérdése. Látom, hogy mi a veszélye annak, hogy a nagy vektorok lekezelése hardver/driver függő, de elvárom, hogy működjön. Ugye az API mögött nekik kell megoldani transzparens módon az adatok kisebb méretre darabolását, ha túl nagyok.Mostmár csak várni kell 1-2 évet, hogy kijöjjön az ATI és az nVidia is driverekkel meg kiforrjon kicsit a cucc, meg kell egy olyan Quadro-s laptop, ami neked van, aztán prezentálni tudnék a megrendelőnek egy OpenCL-es verziót.
Acer Predator Helios 500 Ryzen, Samsung 960 Pro NVMe + GeChic 15.6" kulso monitor a mobil irodahoz
-
sghc_toma
senior tag
koszonom szepen, a hibat javitottam..
maga a szabvany a float-ot koveteli meg, de az OpenCL-ben is (mint OpenGL-ben) vannak extension-ok, es letezik double preciosion extension.. tehat igazabol hardverfuggo a dolog, nekem pl. a videokartyam (FX570m) nem tamogatja ezt a kiegeszitot, a procim meg igen (meg jo )..masik kerdesedre is az a valaszom, hogy implementacio-fuggo.. OCL csak egy szabvany, az, hogy ezt hogyan valositjak meg a hardvergyartok a sajat architekturajukra, teljesen rajtuk mulik.. eddig csak nVidia kartyara programoztam, ott nem lehet gond az 5-10 megabajt meretu buffer.. pl a saxpy-s peldaprogi 25165824-es vektormerettel is tok jol mukodik.. ez ugye ket darab 96 megas vektort jelent (egy olyan kartyaval, amin csak 256 mega memo van)..
in asm we trust
-
tocsa
senior tag
Egyébként nagyon szép munka, köszönet érte.
Azt hiszem megpróbálok majd portolni egy project-et OpenCL-re, ha lesz már megfelelő hardver és driver rá. Nagyon bíztató!Kérdések, amik felmerülnek bennem:
- milyen pontosságot támogat? Végülis float is jó lenne, de a portolandó program double (lévén a double ma már a koprocesszor "alap" formátuma, amire legjobban optimalizált (ok, most itt az MMX és SSE-ről nem beszélek))
- hogy tűri ez az architektúra, hogyha egyes vektorok 5-10 megabájtnyi méretűek?Acer Predator Helios 500 Ryzen, Samsung 960 Pro NVMe + GeChic 15.6" kulso monitor a mobil irodahoz
-
tocsa
senior tag
Elütés: "már írtam az előző bekezsésben"
Acer Predator Helios 500 Ryzen, Samsung 960 Pro NVMe + GeChic 15.6" kulso monitor a mobil irodahoz
-
sghc_toma
senior tag
igen, a hardverek kozotti kulonbseg eltuntetese az OpenCL feladata.. ez benne a szep, neki tulajdonkeppen mindegy, milyen hardver van alatta.. elvileg.. persze ahhoz, hogy optimalis kodot tudjal irni, ismerned kell az adott architekturat.. pl. nVidia-nal figyelni kell a bank conflict-okra, coalescing-re, ATI-nal nem tudom, hogy van ez.. szoval siman lehet, hogy egy alkalmazasban minden tamogatott architekturara kulon kernelt kell irni, kulon work-group/work-item kiosztast kell hasznalni..
in asm we trust
-
sghc_toma
senior tag
JanR (#14): kosz szepen!
tlac (#15):
jo, hogy kerdezted ezt a dolgot, mert egy kicsit elcsesztem a cikkben.. mentsegemre legyen szolva, hogy az Apple doksiban is el van rontva, illetve az OpenCL eszkoz infokat lekerdezve is rossz adatokat kapok..a cikkben ezt irtam a Compute Unit-okrol:
Az OpenCL eszköz (device) az a hardver, amin a párhuzamos feldolgozás történik. Ezekben a hardverekben több, úgynevezett számolási egység (compute unit) van - tulajdonképpen ezek hajtják végre az utasításokat. Például egy videokártya minden stream processzora, és egy CPU minden magja is egy számolási egység.nos, ez igy nem igaz, itt a Compute Unit-ot ki kell cserelni Processing Element-re.. a Compute Unit a Processing Element-ek egy csoportja (az nVidia multiprocessor-nak hivja, es egy multiprocesszor 8 darab procit tartalmaz).. nagyjabol az a helyzet, hogy egy work-group work-item-jeit futtatja egy compute unit.. az, hogy ez konkretan hogyan van megoldva, implementacio-fuggo, nVidia kartyakra a CUDA doksiban szepen le van irva, hogy is tortenik ez.. gondolom ATI-eknak is van valami dokumentaciojuk, nekem csak nVidiam van, igy csak azzal foglalkoztam..
tehat OCL-ben te be tudod allitani a work-group meretet, illetve a work-item-ek szamat; az, hogy ez konkretan hogyan kerul kiosztasra a CU-k/PE-k kozt, az OpenCL runtime dolga..
// cikk atirasa folyamatban...
[ Szerkesztve ]
in asm we trust
-
tlac
nagyúr
ez kedvcsinálónak tényleg nagyon jó, kár, hogy most nincs rá szükségem
részletesen nem olvastam át, de nem láttam, hogy írtál volna róla, hogy vannak ezek a compute unit-ok, ezek milyen műveletekre képesek vagy mennyit lehet belőlük elérni?
úgy tudom, hogy az nvidia-nál és ati-nál különbözőek a felépítésük, az ati-nál sokkal több van, de egyszerűbbek, ezek a különbségek hogyan vannak kezelve opencl-ben? -
JanR
addikt
Kegyetlen jo iras. Masodjara mar valamit meg is ertettem belole
De ha hazaerek, meg parszor alaposabban atolvasom!
Koszi -
janos666
nagyúr
válasz sghc_toma #11 üzenetére
Hát ja, ezért nem akarom magamnak lefordítani (kivéve, hogy nekem dualbootban van win7 és ubuntu, semmi virtualizálás, és persze nincs semmi Mac még véletlen se)
Ha valaki megtette már, az linkelhetné.[ Szerkesztve ]
TV/monitor kalibrálást vállalok. ||| "All right , Thom. But understand this: I do care for you. I care for all the lost souls than end up up here."
-
sghc_toma
senior tag
feltennem en, csak nem tudom foditani.. Windows-ra legjobb tudomasom szerint csak beta SDK-k vannak mind ATI, mind nVidia reszrol.. regisztralni kene, de nincs kedvem fel kilometeres regisztracios lapokat kitoltogetni ja, meg jelenleg csak virtualis gepen van Win-em, azt is telepiteni kene.. azert hetvegen lehet, hogy raszanom magam..
in asm we trust
-
janos666
nagyúr
Nem akarod a kis tesztprogidat exeként is belökni? Viccből szívesen megnézném lefut-e, de ennyiért nincs kedvem felrakni egy fordítót, és legyártani...
Vagy windowson futót még nem tudsz csinálni az eddigi cuccokkal?[ Szerkesztve ]
TV/monitor kalibrálást vállalok. ||| "All right , Thom. But understand this: I do care for you. I care for all the lost souls than end up up here."
-
Elijah Baley
tag
Egészen értelmesnek hangzik" a dolog . Klassz cikk, még a végén hasznát is veszem
"Anizotropikus szűrés? - ez az a ritka trópusi betegséget kimutató szűrő-vizsgálat??? - úgy hallottam nagyon veszélyes azaz anizo-tropik, de állítólag már van ellene védőoltás is..."
-
sghc_toma
senior tag
tobal (#4): persze, megy nVidia-val, Macbook (Pro) -kban is nV kartyak vannak..
DarkByte (#6): Windows-os OpenCL tamogatasrol nem tudok semmit, mikor utoljara neztem, csak valami kiszivargott beta dolgok voltak..
Sanyix (#7): keszulget Java binding OCL-hez: [link].. btw, van .NET, es C++ wrapper is..in asm we trust
-
Sanyix
őstag
Elvileg az ati és nvidia driver is tudja az opencl-t.
Én még asszem várok az opencl api-nak a mondjuk java-s apijára
szövegértelmezés, az ÉRTELMEZÉS a fontos, mert az olvasás mindenkinek megy, de az ÉRTELMEZÉS már komoly probléma a magyaroknál. Gondold ezt át mielőtt marhaságot írsz...
-
DarkByte
addikt
Az angol doksiba már bele futottam, de megint sikerült rájönnöm arra hogy ha valamit meg akarok csinálni, nem árt alaposan átgondolni hogyan is illeszthető rá az API -ra. Semmit sem ér a lineáris kód portolása egy az egyben, jól meg kell tudni fogni hol párhuzamosítható a feladat. Azt hiszem inkább ne akarjak nekifogni egyelőre a Vorbis kodeket portolni OpenCL -be. Egyébként Windows alatt lehet már használni OpenCL -t úgy hogy ki is használja a GPU -t? Laposban a GPU CUDA képes szóval talán van hozzá OpenCL illesztés, max. nem Windows -on.
[ Szerkesztve ]
-
pmheros
őstag
Mély víz csak úszóknak !
nem vagyok tökéletes
-
tobal
tag
Köszi szépen az írást, fasza lett. Bár per pill nekem nincs rá szükségem, ha majd egyszer vmi számításigényes projectem lesz, biztos hasznát veszem.
Kérdés: nVidia kártyákkal is megy? Mert ugye nekik ott a CUDA, és nem tom, h adnak-e OpenCL támogatást. Köszi -
DarkByte
addikt
Huh, csak érjek haza és elolvasom. Épp foglalkoztat a téma
-
sghc_toma
senior tag
ezt csinalja a peldaprogi:
"... a BLAS csomag SAXPY függvényét fogjuk megvalósítani. A SAXPY fog két vektort, az elsőt megszorozza egy skalárral, majd az eredményt hozzáadja a második vektorhoz (y = a * x + y)."
konkretan veletlenszeruen general ket float vektort (x, y), meg egy float skalart (a), ezeket feltolti a VGA memoba, majd a GPU elvegzi rajtuk a SAXPY-t.. vegul visszaolvassa az eredmenyt a rendszermemoba, es osszehasonlitja egy CPU-s szamolas eredmenyevel..
in asm we trust
-
Enton
addikt
ÖÖÖ. Aham. Na majd ha lesz egy kis időm, akkor értelmezem, valahogy korán van még ehhez.
Végülis ez a példaprogi mit is akar csinálni, vagyis mit csinálna?"just because they are spelled the same doesn’t mean they are the same" And "just because they are not spelled the same doesn’t mean they are not the same" Mert gyakorlatilag megszámolhatatlan mennyiségű papucsállatka használ gazdatestként internetezésre humanoidokat és ez követhetetlen."
Új hozzászólás Aktív témák
Hirdetés
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest