ATI a problém s OpenCL

Obecně o problematice zobrazování 3D ;-)

Moderátoři: ps47, swarm

Odpovědět
Uživatelský avatar
DOC_ZENITH/XAN
Senior member
Příspěvky: 1922
Registrován: stř říj 20, 2004 9:37 pm
Bydliště: Praha - Hloubětín

ATI a problém s OpenCL

Příspěvek od DOC_ZENITH/XAN »

Na Macu už funguje OpenCL, ale zatim jsou obrovské problémy s ATI kartami.

Prý ty čipy hardwarově nemaj ňákej double precission **** to už si dál nepamatuju, ale na macách prozatím na HD2xxx a 3xxx open CL nejede vůbec, jede jen na 48xx a výkon 4870 dosahuje GF8600 GT což zní dosti strašlivě. Kde je taková 8800GT nebo GTX285 se radši ani neptejte. Ale podobnej graf jsem viděl i u flodding home.

Je tam teda opravdu něco, protože jestli se ukáže že pre DX11 ATI karty jsou pro CGPU nepoužitelné, bude to dost blbý. I ten jejich video konverter má hroznou kvalitu obrazu a je sice hezký že máj Gflops ale je to jak holub na střeše, neni nic kde by se to dalo použít. Já jsem čekal že právě v OpenCL přijde ten moment kdy se to ukáže ale ouha... Přitom předtim se dušovali že OpenCL narozdíl od NV jejich karty zvládaj už od R520 a novějších čipů kdežto NV jen od G80 + má nyní ATI větší výkon.

Zatím to vypadá asi takto:

Number of OpenCL devices found: 4

OpenCL Device # 0 = GeForce 8800 GT

Device 0 is an: GPU with max. 1500 MHz and 112 units/cores

Now computing - please be patient....

time used: 0.683 seconds

OpenCL Device # 1 = GeForce GTX 85

Device 1 is an: GPU with max. 1500 MHz and 240 units/cores

Now computing - please be patient....

time used: 0.285 seconds

OpenCL Device # 3 = Radeon HD 4870

Device 0 is an: GPU with max. 750 MHz and 4 units/cores

Now computing - please be patient....

time used: 4.126 seconds

OpenCL Device # 4 = Intel® Xeon® CPU X5365 @ 3.00GHz

Device 2 is an: CPU with max. 3000 MHz and 8 units/cores

Now computing - please be patient....

time used: 3.094 seconds
Uživatelský avatar
no-X
Administrátor
Příspěvky: 6912
Registrován: stř dub 28, 2004 9:02 am
Bydliště: Č. Budějovice
Kontaktovat uživatele:

Příspěvek od no-X »

Double precision podporuje RV740 a RV770. U nVidie jen GT200. Vůbec se nedivím, že ATi tohle momentálně na MACu neřeší, mají jiné problémy, drivery pro R8xx jsou v tuto chvíli důležitější.
If you're doing rotated grid SSAA (call it sparse grid if you wish but most often your samples will be in the "rotated" position) : then this AA is better than sex. ---Blazkowicz
nManJofo
Příspěvky: 322
Registrován: čtv dub 03, 2008 10:14 pm
Bydliště: Brno

Příspěvek od nManJofo »

Najhorsie je, ze k tomu jazyku nie je ziaden pekny tutorial, a tie konstrukcie vyzeraju dost blaznivo. Inac by som si to rad vyskusal v praxi
Uživatelský avatar
DOC_ZENITH/XAN
Senior member
Příspěvky: 1922
Registrován: stř říj 20, 2004 9:37 pm
Bydliště: Praha - Hloubětín

Příspěvek od DOC_ZENITH/XAN »

Ono je to podoný jak pro Cudu takže.... a NV díky tomu asi narychlo zplácla ňákej convert driver atd, takže jim to už teĎ jakžtakž jede. No kdyby situace takhle zůstala tak by si NV klidně mohla dovolit dát Physx na OpenCL (pluginy adobe, atd už s příští generací nepojedou přes cudu ale OpenCL). Pak by řekli, na physx si pořiďte alespoň Gf 9500 nebo Radeona HD 4890, jsou tam rychlý nastejno a ehm to by byla větší reklama než současnej stav. Doufám že tam ATI s driverama hrábne.

Výhodou OpenCL je, že může běžet na všem stejnej kód se stejným výsledkem. A i na CPU to ujde. 2x8jádrovej Nehalem based Xeon si konkuruje s GF8800GT. I přes CPU to jede pěkně. Ono to jde na každý programovatelný jednotce podporující přesný výpočty a s valstní Vram, dokonce říkali že by se todalo rozjet na na X-fi zvukovkách nebo raid řadičich když zdrova Idlujou. :lol:. Může to běžet pod všema různejma OS kde jelo OpenGL čili i na Linxech, nan non x86 kompatibilních strojích i na mobilních telefonech. To je ta obrovská výhoda oproti DirectCompute který je závislý na jednom jedinym systému aka WIN NT 6.x generace a ještě na DX11 HW. Z grafik by to měla dát každá co má PS3.0 (čili i takovej wldcat 800, na ten bych tam byl celkem zvědavej on má 96 pipelnes ale na to asi driver nikdo neudělá) reakcí ATI na toto bylo že na R520 a novějších to jede bez problémů ale na NV40 - G71 ne protože ta má určitý výpočty méně přesný a nelze ji proto použít. Ale praxe zatim kvete tak, že Apple pro minimální požadavky na optimální běh na jejich openCL powered aplikace uvedl čtyřjádrový Xeon, GF8600GT a nebo Radeona 4850 což je dosti šílenej stav aka nepoměr.

Kámoš nedávno koupil takovej ten jak se to jmenuje jak je to na stole jak monitor ten MAC střední třídy, s Core2 duem a ještě stinul ten s HD2600XT právě aby po příchodu OpenCL měl slušnější GPU, 3 měsíce zpět se přestaly prodávat a novej model tam má ION chipset čili integrovanou Gf9400. A teď nadává že co je to za lapálii a ani se mu nedivím.

A tutorialy bych řekl že se oběví až vyjdou WIN7 ve kterejch OpenCL bude. Dokud to netalčí MS tak to bude okrajový, takže je třeba ještě ten měsíc počkat.
Uživatelský avatar
Palda
Příspěvky: 6
Registrován: pon říj 26, 2009 9:12 pm
Bydliště: Praha

Příspěvek od Palda »

U řady HD2xxx a HD3xxx je problém mnohem horší, výkon by byl v OpenCL (a jakémkoliv jiném GPU výpočtu) dost chabý, kvůli absenci sdílené paměti pro SIMD, řada HD48xx to už má a double precision umí.

Vývojáři GPU klienta pro folding home uvedli, že dual precision karty ATI umí nativně jen v řadě 48xx (novější info nemám) a je to 2,5x rychlejší, než na srovnatelné třídě předchozí generace (4870 vs 3870) v single precision operacích, nedokážu si potom představit, jaký by byl výkon HD2/3, pokud nemají sdílenou SIMD cache a navíc jsou 2,5x pomalejší v single precision výpočtech (papírově to vypadá, že je to rovno jen násobku jednotek, špíše bych to tedy viděl na problém chybějící cache)

Apple, jakožto jeden z největších odběratelů ATI čipů, hned po Microsoftu nemá problém v tom, že by byly problémy s ovladači, spíše je problém ve výkonu karet samotných, nemá tedy smysl dělat ovladač pro GPU, které bude při OpenCL 10x pomalejší, než běžné C2D CPU. Podpora je asi spíše uměle zakázaná, možná starší čipy ani nevyhovují požadavkům pro OpenCL na kterých se dohodl Apple, AMD, NVIDIA a Intel, když se dělala OpenCL specifikace.

Jinak stejný OpenCL benchmark je k dispozici i pro Linux, kde jsou výsledky stejné. Nvidia má OpenCL pro Windows dostupné už od června: http://www.nvidia.com/object/cuda_opencl.html a http://developer.nvidia.com/object/get-opencl.html u ATI jsou zatím snad jen součásti ATI Stream SDK.

Jinak ATI má problémy s OpenCL na Macu a Linuxu pořád, je nutné speciálně upravovat kód, aby na ATI kartách chodil.

a na konec nový OpenCL benchmark pro OSX:
http://www.applebloog.com/?p=29437
Uživatelský avatar
no-X
Administrátor
Příspěvky: 6912
Registrován: stř dub 28, 2004 9:02 am
Bydliště: Č. Budějovice
Kontaktovat uživatele:

Příspěvek od no-X »

Můžu se zeptat, kde se dádozvědět něco víc o podpoře DP na starších čipech? Podle všeho, co jsem dosud viděl, slyšel a četl, je stejná, jako jako u HD4800. HD4800 sice podporuje některé funkce navíc, ale základ je stejný.

Fyzickou sdílenou paměť nemá ani GT200, tu přinese až GF100.

Co se týče F@H, je problém s tím, že od doby HD2900 se na ATi klientu nic nezměnilo, stále nevyužívá všechny SPs u čipů, které jich mají přes 320. Což je důvod chabého výkonu. Je otázka, jestli ATi čekala na standardizaci OpenCL a nový klient bude založená právě na OpenCL (snazší přechod a využití nových architektur), nebo se na další podporu vykašlou. Houston pracuje v AMD a zřejmě má na práci jiné záležitosti.

Mimochodem, může mi někdo ukázat nějakou recenzi, nebo cokoli, kde by jakákoli karta od ATi prováděla pod OpenCL jakýkoli DP výpočet? XAN mluví o výkonu pod OpenCL v DP od 1. září, ale ATi vydala vůbec první OpenCL driver využívající GPU teprve 14. října a ten navíc DP nepodporuje :D

Do 14.10. (tzn. před v2.0-beta4) bylo OpenCL realizované pouze přes CPU.

To je jedna věc. Druhá věc je, že k témuž datu ani nVidia nepodporovala v rámci OpenCL DP. Není mi jasné, jestli to na MACu je realizováno softwarově, nebo existují nějaké drivery, které byly vyvinuty nezávisle na nVidii/ATi, ale minimálně pro PC (a pravděpodobně i pro MAC) platí, co jsem uvedl.

Všechny současné čipy totiž nejsou plně hardwarově kompatibilní s DP tak, jak ho vyžaduje OpenCL a obě firmy pracují na driveru, který by byl schopen chybějící funkce nahradit emulací (čímž nepředpokládám emulaci na CPU, ale složitější kombinaci funkcí GPU - jistý si ale nejsem).
If you're doing rotated grid SSAA (call it sparse grid if you wish but most often your samples will be in the "rotated" position) : then this AA is better than sex. ---Blazkowicz
Uživatelský avatar
Palda
Příspěvky: 6
Registrován: pon říj 26, 2009 9:12 pm
Bydliště: Praha

Příspěvek od Palda »

je to delší doba, ale něco o SIMD cache lze najít na forech AMD:
http://forums.amd.com/forum/messageview ... did=117568 , něco o dual precision bylo přímo u Developer SDK pro OpenCL od Apple (bylo součástí Snow Leopard Beta, nevím jestli je v plné, musel bych se podívat na instalační DVD), proto jsou podporovány jen radeony 4850 a 4870, a karty 2600xt z o půl roku starších modelů nikoliv (ano, dalo by se říci, že takto budou nabádat ke koupi nových modelů, to by ovšem odporovalo tomu, že taková 8600GT je podporována), na Macku je podpora OpenCL od začátku září a chodí to i po GPU a je nativně v systému, podporuje jak CPU, tak GPU, mám vyzkoušeno jak na CPU, tak na GPU (9400m, gpu bohužel nemůžu vyzkoušet, mám právě 2600pro). Co jsem pochopil, tak DP není vyloženě nutnost, to je snad nutnost jen pro DirectXCompute, jen lze některé výpočty obejích skrz CPU, ale to se dle autorů OpelCL benchmarku neděje/nepoužívá. http://www.macupdate.com/info.php/id/32266

Double precision vypadá skutečně jen jako volitelná možnost, alespoň co jsem vyčetl z dokumentu na Khronosu (OpenCL specifikacions): "-cl-single-precision-constant Treat double precision floating-point constant as single precision constant.... This option is ignored for double precision numbers if the device does not support double precision or if it does support double precison but CL_FP_DENORM bit is not set in CL_DEVICE_DOUBLE_FP_CONFIG." kapitola "5.4.3.2 Math Intrinsics Options" v http://www.khronos.org/registry/cl/spec ... 1.0.48.pdf pokud budeš číst dál, tak to i vypadá, že bude problém s některým typem výpočtu atd. Dle vývojářů OpenCL benchmarku však DP na hd4850 chodí (stejně tak na nv) a není nutné řešit okliku

Drivery byly dělané spolu s ATI a nvidií, jelikož Apple potřeboval přímou podporu vendorů. Akcelerace některých věci byla už od dob ATI Rage skrz OpenGL (např image resize, některé efekty do videa ve Final cut atd, osobně vyzkoušeno). Z toho, co se pořád dočítám je i problém v ATI frameworku, resp v jeho compileru, který Apple ATI poskytlo.

ještě navíc:
As a follow-on, after contacting someone in the know, the reason why Snow Leopard doesn't support pre-HD4xxx series ATI GPUs is due to hardware limitations. I didn't ask for specific clarification, but speculating, one the major differences in Stream Processing Unit organization in the HD4xxx series compared to the HD3xxx and HD2xxx series is that the HD48xx organizes 80 Stream Processing Units together in a SIMD core with a shared local data store. This local data store is something that nVidia has had since the 8xxx series and among other things can avoid polling the CPU for data and the lack of it has been identified as a major reason why Folding@home performance in the HD2xxx and HD3xxx series is so poor compared to nVidia GPUs. I'm not familiar with the technical details of OpenCL requirements, but I wouldn't be surprised if OpenCL was written with local data store between groups of execution units in mind. In any case, I'm told that the forthcoming Windows/Linux OpenCL drivers won't support the HD2xxx or HD3xxx either.

http://www.insidemacgames.com/forum/ind ... opic=36536#

osobně v tom mám dost bordel (každý říká něco jiného, ale vývojářům se snad dá věřit), Apple však podporu DP vyžadoval, jak si s tím poradí vendoři čipů byl jejich problém
Uživatelský avatar
no-X
Administrátor
Příspěvky: 6912
Registrován: stř dub 28, 2004 9:02 am
Bydliště: Č. Budějovice
Kontaktovat uživatele:

Příspěvek od no-X »

Ta citace mi přijde trochu zmatená. HD2900 a HD3800 na tom ve F@H byly docela dobře (poměr teoretického a reálného výkonu, který se často zmiňuje). Tenhle poměr byl ve statistikách zhruba srovnatelný s nVidií až do příchodu HD4800. Pak šel kalupem dolů, což je způsobeno tím, že kód je uzpůsobený pro 320SPs a víc nevyužívá, takže nové čipy jsou využity jen ze 40% a rozdíl mezi teoretickým a reálným výkonem je pak oproti nVidii (jejíž klient využívá čip celý) obrovský.
If you're doing rotated grid SSAA (call it sparse grid if you wish but most often your samples will be in the "rotated" position) : then this AA is better than sex. ---Blazkowicz
Uživatelský avatar
Palda
Příspěvky: 6
Registrován: pon říj 26, 2009 9:12 pm
Bydliště: Praha

Příspěvek od Palda »

citace je vytržená z dokumentu, doporučuju ho spíš prohlédnout, je to tam uvedené celé

co si to pamatuju, tak se výkon srovnával hlavně s CPU (nvidia v té době něměla podporu foldingu), po vydání hd4xxx a nvidia klientu nejde výkon srovnávat, jelikož dostávají karty ruzné druhy výpočtů dle jádra (stejně jako PS3 dostává pro Cell věci, v kterých je Cell lepší než ostatní jednotky ve foldingu). Obecně mají však nvidia vyšší výkon ve výpočtech, které provádí i ATI karty a vyšší výkon vzhledem k množství čipů, co jsou do foldingu zapojené (resp vyšší výkon na čip) teď se dočítám něco o nepodpoře double precision na hd48xx řadě, např: http://www.gpugrid.net/forum_thread.php?id=705 , mám pocit, že to anderson (dělá GPU klienta pro folding) zmiňoval, když vyšel klient pro nvidia karty, takže je asi s OpelCL jasno, double precision je tedy volitelná, to by taky vysvětlovalo problémy s ATI GPU pod OpenCL v OSX, to co udělá nvidia snadno, má ATI složitější
Uživatelský avatar
Ren
VIP
Příspěvky: 2824
Registrován: pát srp 13, 2004 10:54 am

Příspěvek od Ren »

Palda píše:9400m, gpu bohužel nemůžu vyzkoušet, mám právě 2600pro
Ja ho vyzkouset muzu, takze jestli mas nejaky snadno opakovatelny bench, sem s nim.
Uživatelský avatar
Palda
Příspěvky: 6
Registrován: pon říj 26, 2009 9:12 pm
Bydliště: Praha

Příspěvek od Palda »

Tuna jich je tady:
http://www.insanelymac.com/forum/index. ... pic=182874

první Galaxy je myslím dostačující, jen doporučuji přečíst pasáž o 9400m, stejně to však bude rychlejší jak cpu.

zajímavý je i AObench, který jede skoro na všem:
http://lucille.atso-net.jp/aobench/

jinak nejlepší byl původni OpenCL bench verze 0.25, ale nemůžu ho nikde najít, možná bude ještě na macbooku. Jen se hodil do terminálu a hodil výsledek (těch je na webu plno, pro porovnání super), pro CPU i GPU byly stejné úlohy.

//edit:

tak nakonec jsem jen dohledal na macbooku: http://www.sendspace.com/file/m3se8k stačí hodit do terminálu (nebo jen spustit, spustí se automaticky terminál), spočítá výsledek jak pro cpu, tak pro gpu (pokud gpu umí openCL), C2D 2,33GHz má okolo 15,3s
Odpovědět