Výpočty na GPU

Do threadů v koši se nedá už nic psát. Pokud zde náhodou naleznete něco důležitého, tak na to prosím upozorněte a bude zvážen přesun daného tématu zpět do fóra.

Moderátor: nenym

Odpovědět
Zpráva
Autor
rendo
26.3157894737 %
26.3157894737 %
Příspěvky: 245
Registrován: ned 09 pro, 2007 14:25
ID CNT statistics: 3742
Bydliště: Pardubický kraj, Svitavy

GPU

#1 Příspěvek od rendo » pon 01 zář, 2008 09:16

Když vidím ten výkon GPU nVIDII GeForce GTX 280 oproti CPU tak mě napadá jestli nebude výhodnější pořídit takovouhle kartu a k tomu jen CPU, které to dokáže uživit :smt017. Vlastně by se ušetřilo za zbytečně výkonné CPU, RAM a základní desku když stejně nemají šanci oproti GPU. Vypadá to, že časem se všechny projekty budou orientovat právě i na GPU aby využili takový potencionál stejně jako to dělá Folding nebo teď GPUGrid, který je pod BOINC. Uvažuji o stavbě PC a původně jsem uvažoval o Quadu, ale teď začínam uvažovat o (jen) dvoujádru a k tomu výkonnou GPU.
Tak mě napadá jestli se nad výpočty počítané přes CPU nezačínají stahovat mračna.

Uživatelský avatar
forest
Admin webu a fóra CNT
Admin webu a fóra CNT
Příspěvky: 17099
Registrován: pát 27 říj, 2006 10:19
rok narození: 03 bře 1977
ID CNT statistics: 71
Bydliště: Újezd u Brna

Re: Ostatní diskuse k projektu

#2 Příspěvek od forest » pon 01 zář, 2008 10:12

Psal jsem o tom ve článku na PC Tuning, že CPU už výkonnově jdou vzhůru jen nepatrně a že GPU je nová cesta pro DC.
Osobně si myslím že za rok to bude opravdu napováženou do čeho investovat, ale nyní je GPU na BOINC opravdu teprve na začátku.

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Ostatní diskuse k projektu

#3 Příspěvek od Honza » pon 01 zář, 2008 11:53

rendo píše:Vypadá to, že časem se všechny projekty budou orientovat právě i na GPU aby využili takový potencionál ...
Tak mě napadá jestli se nad výpočty počítané přes CPU nezačínají stahovat mračna.
To jenom tak vypadá. GPU udělá pouze určitou sadu instrukcí...a udělá je brutálně rychle. Ale umí jen něco, takže CPU budou nadále potřebné.
K tomu se ještě musí přípočítat odlišný způsob programování, sw nástrojů atd.

Možná dojde k tomu, že se CPU a GPU budou svou architekturou (a tedy i nasazením příbližovat). CPU budou mít více jednodušších jader jako GPU, naopak GPU může dostat řídící CPU atd.

rendo
26.3157894737 %
26.3157894737 %
Příspěvky: 245
Registrován: ned 09 pro, 2007 14:25
ID CNT statistics: 3742
Bydliště: Pardubický kraj, Svitavy

Re: Ostatní diskuse k projektu

#4 Příspěvek od rendo » pon 01 zář, 2008 16:20

Díky za vysvětlení, původně jsem do PC nechtěl žádnou extra grafiku, ale po Forestově článku na PCT a spuštění Gridu pod BOINC jsem začal spekulovat co postavit s ohledem na co nejlepší využití počítače v DC.
Teď jsem měl v úmyslu zapojit GPU co mám v noťasu, ale moji nedoporučují i když by to zvládla. Tak snad do budoucna..

Uživatelský avatar
IQE
26.3157894737 %
26.3157894737 %
Příspěvky: 228
Registrován: pát 03 lis, 2006 19:07
Bydliště: Vsetín

Výpočty na GPU

#5 Příspěvek od IQE » pát 02 led, 2009 17:23

Kolik projetu podporuje výpočty pomocí graf. karty :?: 2 33eee
Přítel je ten, kdo o vás ví všechno a má vás pořád stejně rád... ELBERT HUBBARD
Moje statistika

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Výpočty na GPU

#6 Příspěvek od Honza » pát 02 led, 2009 18:29

To je nepřesně položená otázka. Pod BOINC nebo obecně?
Pod BOINC tradičně GPU Grid a nově (dodal bych s nevelkou slávou v reálu) SETI - to je na první pohled poznat, když si dám do vyhledávání "GPU". Obojí běží na nVidia.
Z non-BOINC nelze přehlédnout Folding.

Uživatelský avatar
Prazdroj
42.1052631579 %
42.1052631579 %
Příspěvky: 683
Registrován: čtv 17 led, 2008 10:19
Bydliště: Liberec, 32 let

#7 Příspěvek od Prazdroj » sob 03 led, 2009 19:20

Honza píše:Pod BOINC tradičně GPU Grid a nově (dodal bych s nevelkou slávou v reálu) SETI
To s nevelkou slávou by se dalo vztahovat i na GPU Grid, poslední týdny nemají kloudně práci. Když počítač práci nedostane, automaticky má odpočet k dalšímu kontaktování serveru 24 hodin, takže i pokud během dne práce je, má počítač smůlu. Nevím, co je k této změně vedlo a co se děje, že najednou nestačí produkovat dost práce pro GPU a mají pořádně jen pro PS.

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Výpočty na GPU

#8 Příspěvek od Honza » sob 03 led, 2009 20:54

Prazdoj, koukám že ti výrazně spadlo kreditové hodnocení. Je to tím nedostatkem práce nebo změnou kreditového hodnocení?
Problém GPU Gridu je asi na straně serveru, resp. jeho novější verze, která má problémy. Snad se to v dohledné době s pomocí vývojářů podaří dořešit.

U SETI jsem měl na mysli především nevalný výkon, když high-end grafika sotva drží krok s high-end CPU, což je v rozporu s teoretickým výkonem.

Věřím, že řešení na GPU Grid je snažší, než náprava u SETI. Na druhou stranu SETI má již zkušenosti s postupnou optimalizací vlastních aplikací a dobře funguje.

Zůstává tu dost problémů na úrovni spolupráce server-klient. Hlavní nedostatek vidím v absenci jakéhokoli managementu (kolik GPUs má počítát, jak moc mají počítat, kolik práce si vzít - neexistence GPU benchmarku, jak dlouho práce vlastně trvá) - prostě obecná nepřipravenost BOINCu.
Teď mě napadá, že wrapper a nějaký gpu_config by to možná řešil lépe, než současné neřešení na úrovni client core. Wrapper by byl non-cpu-intensive (řeší problém součinnosti s CPU tasky), wrapper by pořešil problém reportování délky výpočtu (podle wall-time místo CPU-time), což může korigovat předpovídanou délku výpočtu i nárokování práce. Je to quick&dirty řešení, ale fungovalo by i na ATI či jiné (neomezovalo by se na CUDA). S podobným úsilým jako současný stav, ale s lepším výsledkem. Možná blbost, možná by to byl lepší postup, když se na řešení spěchalo, resp. od začátku chybí základy.
Obávám se, že solidní náprava (předělání resource share, work fetch a související) bude trvat dlouho. Problém je to složitý a diskuse zdlouhavá.
Přesto je to žádoucí, aby BOINC na GPU byl připraven...snad na jaře.

Pak tam zůstavají věci, které nevím jak řešit - například pouštění a běh GPU tasků, pokud se k mašině připojím přes RDP v rámci OS.

Uživatelský avatar
Prazdroj
42.1052631579 %
42.1052631579 %
Příspěvky: 683
Registrován: čtv 17 led, 2008 10:19
Bydliště: Liberec, 32 let

#9 Příspěvek od Prazdroj » ned 04 led, 2009 09:23

Je to nedostatkem práce a také tím častým odsunem komunikace o 24 hodin. Zatímco dřív nebyl problém za den odevzdat i 14 úkolů, teď je úspěch získat za den dva tři. A zrovna to přišlo v době, kdy se k počítačům nedostanu. Dřív to bylo spolehlivější, i když i předtím byly den dva trvající výpadky práce, které ovšem dělaly odklad komunikace jen asi o dvě hodiny. Ale tak aspoň že stroje počítají CPU jednotky.

Hlavní nedořešený problém u GPU Grid (možná jím trpí, budou trpět, všechny BOINC projekty) vidím v přidělování práce do zásoby podle počtu jader/procesorů počítače a naopak ignorace výkonu grafiky a počtu grafik v počítači. Dochází tak k tomu, že na starší nevýkonné grafice a se čtyřjádrovým procesorem má člověk dost práce na několik dní, ale u jednojádra s nejvýkonnější grafikou jen na pár hodin. Nemluvě o jednojádru s kartou 9800GX2, kdy by počítalo jen jedno jádro. Projekt tak znevýhodňuje ty, kteří mu odevzdávají práci za chvíli, včas. Přitom i sám Boinc Manager nebo projekt musí podle spočítaných jednotek poznat, jak výkonná je grafika, jestli běží nonstop nebo jen pár hodin denně a také kolik grafik v počítači je.

Nemluvě o tom, že se pořád sčítá volná kapacita CPU i pro nárokování GPU jednotek. V klidu tak dochází k tomu, že díky nedostatku práce se stáhne více CPU jednotek a když GPU práce je, nestáhne se další, protože na ni teoreticky není čas. Ale tohle asi jen tak vyřešit nepůjde.

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Výpočty na GPU

#10 Příspěvek od Honza » ned 04 led, 2009 11:04

Díky za shrnutí zkušeností.
Odpovídá to teorii, tedy absenci managementu na úrovni client core (Manager za to nemůže).

Když není jak měřit (výkon, čas), nelze ani určovat množství práce ke stažení a její přidělování a tudíž ani nárokovaný kredit (pouze fixní).
Proto jsem psal, že když David A. představoval novou work-fetch policy, že to bylo zcela krátkozraké - chyběl tomu resource management (benchmark,share, report).
Client Core si musí být vědom výpočetních prostředků, které má k dispozici - což teď neví, není jak výkonné GPUs má k dispozici. Ani neví, za jak dluho vlastně práci udělají. Neví to ani předem, neví to ani následně.
Bez měření prostě nejde dělat regulace - to je prosté.

Uživatelský avatar
Prazdroj
42.1052631579 %
42.1052631579 %
Příspěvky: 683
Registrován: čtv 17 led, 2008 10:19
Bydliště: Liberec, 32 let

#11 Příspěvek od Prazdroj » pon 05 led, 2009 08:57

Je škoda, že je to tak složité. Mně, jako laikovi přijde, že by BM po pár spočítaných jednotek mohl zjistit, že třeba za posledních 4 dny spočítal 16 úkolů, tak by tomu mohl uzpůsobit počet jednotek do zásoby podle nastavení BM, tedy například 8 úkolů při dvoudenní zásobě. V takovém případě by už pak nebyly problémy s tím, že když není práce, kontakt se serverem je za 24 hodin, zásoba by to vykryla.

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Výpočty na GPU

#12 Příspěvek od Honza » pon 05 led, 2009 15:59

Spíše je škoda, že BOINC není na GPU připraven.
Základy už položené jsou a celkem správně - benchmark, měření délky výpočtu u CPU, Duration Correction Factor a na to navázané resource share, work-fetch, LTD a STL, scheduler. Zas tak složité to není a myslím, že ten koncept se již docela vyladil a osvědčil, resp. mě moc nenapadá, jak to dělat lépe. Pouze to není udělané pro GPU.

Co navrhuješ je vcelku jednoduché a chodit by to mohlo - kdyby délka výpočtů byla zrhuba stejná, což u mnoha projektů zařídit nejde.
A neřeší to problém součinosti CPU a GPU a následně ani problém nemožnosti přidělení výkonu pro CPU nebo GPU, takže by to dělalo chaos napříč projekty. Počitalo by se na GPU, ale nestáhlo by to práci pro CPU pro stejní ani jiné projekty atd.

Jo, kdyby se počítal pouze jeden projekt, bylo by to snadnější. Ale BOINC je alespoň podle PR navržen na více projektů, více jader...a časem snad i na více výpočetních zdrojů, než jen CPU.

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Výpočty na GPU

#13 Příspěvek od Honza » úte 13 led, 2009 16:40

Vyšla novější aplikace SETI na GPU.
Pokud je mi známo, změnou je NEpodpora starších GPU.
Problém je totiž v tom, že když je karta pomalá, nestihne do určité doby (tuším 2 vteřiny) určité operace, nVidia drivery to vyhodnotí jako pád aplikace a celé to jde do kopru...
Takže na 9600GT to nepošle, ale na 9800GT už ano.

Zdá se, že to je jedn z méně příjemných limitů GPU výpočtů...nebo jejich implementace.

LookAS
42.1052631579 %
42.1052631579 %
Příspěvky: 744
Registrován: ned 02 pro, 2007 14:34
rok narození: 12 čer 1981
ID CNT statistics: 9215
Bydliště: Přelouč
Kontaktovat uživatele:

Re: Výpočty na GPU

#14 Příspěvek od LookAS » úte 13 led, 2009 17:24

z non-boinc projektu bych pridal i treba stary dobry d.net, ve kterem lze pocitat RC5-72 na nVidiich a pripravuje se aplikace i pro ATI.
-LookAS- ~ Core i9-7920X + AiO Corsair H110i GT, ASRock Taichi, 32GB Corsair 4133MHz , 2x Gigabyte GTX 1080 Ti Gaming OC, Win 10 x64
PG: Obrázek

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Výpočty na GPU

#15 Příspěvek od Honza » úte 13 led, 2009 20:06

Ano, dobrý postřeh.
Přesněji pro CUDA 2.0, protože pod jinou verzí nechodí. Zato rychlost je solidní - cca 250Mkeys/sec na 8800GTX či 550Mkeys/sec na GTX280.
ATI HD4870 prý dělá kolem 480Mkeys/sec proti řádově 10Mkeys/sec, které mi to dělá na Q9550 per core.

Tady se dá konečně s čistým svědomím říct, že high-end grafika je 10x rychlejší než high-end CPU.
Navíc by vytížení CPU nemělo být hrozné, takže jej jde použít třeba na BOINC.

Honza
57.8947368421 %
57.8947368421 %
Příspěvky: 2263
Registrován: pát 03 lis, 2006 10:46

Re: Výpočty na GPU

#16 Příspěvek od Honza » stř 28 led, 2009 08:58

Jestli se nepletu, tak se doposud zminňovaly tyto projekty, které využijí GPU:

- GPUGrid nVidia (nově s aplikací, která méně zatěžuje CPU)
- SETI nVidia (o použitelnosti moc nevím, kromě slabého výkonu)
- Folding ATI, nVidia (i když není BOINC, ale je dobrou ukázkou)
- d.net nVidia, ATI (bude) (klasika)
- Einstein (podpora zatím nejasná)

- MIlkyWay ATI (brutální výkon, lepší než nVidia kvůli rychlosti double precision). Jestliže oficiální app potřebuje na výpočet dlouhé desítky minut, optimalizace minuty, ATI HD4870 to zvládne než napočítáte do deseti (doslova!).
- AI (na app se čeká?)

K Milkyway se pojí ještě jedna věc. Je třeba do BOINCU dodělat detekci ATI. Pak bude BOINC alespoň teoreticky a alespoň trochu na GPU app připraven.
Asi také bude zajímavé sledovat yoyo a jejich wrapper. Už jim běží app i pro PS3, třeba také přidají GPU.

Myslím, že se nám to začíná pomalu rozrůstat.

Uživatelský avatar
MIZ
42.1052631579 %
42.1052631579 %
Příspěvky: 600
Registrován: sob 22 bře, 2008 14:54
Bydliště: Krkonoše, Czech Republic, Europe, 3rd from the Sun
Kontaktovat uživatele:

Re: Výpočty na GPU

#17 Příspěvek od MIZ » stř 28 led, 2009 09:41

Honza píše:- MIlkyWay ATI (brutální výkon, lepší než nVidia kvůli rychlosti double precision). Jestliže oficiální app potřebuje na výpočet dlouhé desítky minut, optimalizace minuty, ATI HD4870 to zvládne než napočítáte do deseti (doslova!).
Na MilkyWay teď probíhá živý vývoj, denně nová verze oficiální app., neofic. app. nedostávají kredit, protože prý vracely neplatné výsledky atp... O nějaké verzi pro ATI slyším prvně, víte o tom někdo víc, jak to je z hlediska ofic/neofic, validity výsledků apod.?
Ano, mám ATI HD4870... OC... 45nn
Obrázek
World Community Grid: Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek Obrázek
Asteroids: ObrázekObrázekObrázekObrázekObrázekObrázek Milkyway: ObrázekObrázek Universe: Obrázek PrimeGrid: Obrázek Obrázek Obrázek Obrázek Obrázek Enigma: Obrázek WUProp: Obrázek
Yoyo: Evolution Obrázek, Muon Obrázek, ecm Obrázek, OGR Obrázek.
ObrázekObrázek
BOINC team :smt049 Space Family

Uživatelský avatar
Zelvuska
Moderátor
Moderátor
Příspěvky: 563
Registrován: ned 25 bře, 2007 21:21

Re: Výpočty na GPU

#18 Příspěvek od Zelvuska » stř 28 led, 2009 10:18

Taky by mě to zajímalo, mám HD3870, ale bohužel na linuxu, který dosud není tak úplně podporován :smt022

Uživatelský avatar
Meharts
42.1052631579 %
42.1052631579 %
Příspěvky: 685
Registrován: úte 04 bře, 2008 10:09
ID CNT statistics: 2
Bydliště: Castle in the city Brušperk 37 let

Re: Výpočty na GPU

#19 Příspěvek od Meharts » stř 28 led, 2009 10:40

Zelvuska píše:Taky by mě to zajímalo, mám HD3870, ale bohužel na linuxu, který dosud není tak úplně podporován :smt022
Hehe jsem na tom úplně stejně 45hh

Uživatelský avatar
Prazdroj
42.1052631579 %
42.1052631579 %
Příspěvky: 683
Registrován: čtv 17 led, 2008 10:19
Bydliště: Liberec, 32 let

#20 Příspěvek od Prazdroj » stř 28 led, 2009 14:21

Pravda, je otázka, jestli by ATI výpočty běžely jen pod Win nebo i pod Linuxem. Snad bude stejná podpora jako u GPUGridu.

Odpovědět

Zpět na „Neaktuální, OT, no prostě vše co se časem smaže“