Tento web používá soubory cookie. Dalším používáním webu s tímto souhlasíte.
jméno
heslo
přihlásit
zaregistrujte se
zapomněli jste heslo?
CUDA - supercomputer in every family
MAIMONIDES
[http://www.nvidia.com/content/cudazone/images/us/nvidia_logo.jpg]
CUDA
Nvidia CUDA(Compute Unified Device Architecture) je jazyku C podobné programovací prostředí a příslušný software pro využívaní grafických karet od NVidie novější generace pro libovolné výpočetní účely. Mezi hlavní výhody patří rychlost dedikovaných procesorů a především masivní paralelismus. Podle okolností několik tisíc jednoduchých paralelních procesů a potom samozřejmě velice rychlá paměť na grafické kartě.
Máte k tomu co říct? Vložte se do diskuze.
TRANCEWARP --- 16:42:09 30.10.2013
Zdravim panove, na doporuceni hazim i sem, treba to nekdo budete schopny vyresit...

Mame tu takovou perlicku.

Pro hru http://fantasy.sport.cz hledame nalezeni optimalni sestavy.

Ve hre je mozne si sestavit team 11 hracu z nabidky v lize. Podle toho, jak potom hraji ziskaji body.
viz http://fantasy.sport.cz/gambrinusliga/docs/pravidla

My hledame nejlepsi sestavu, ktera by byla mozna za kolo.

Tzn. najit 11 hracu z 400-1200 hracu, s temito omezenimi:

* maximalni bodovy zisk
* z kazdeho tymu v lize smi byt v sestave pouze 3 hraci
* tym musi byt levnejsi, nez vsechny ostatni potencialni tymy, ktere by mely stejne bodu
* sestava se musi s cenou vejit do 100 milionu
* hraci mohou byt jen na pro ne vhodne pozice podle mozne formace, ty najdete v dropdownu na strance hry, tzn. 1 brankar, 2-4obranci, 2-4 zaloznici, 1-3 utocnici

Jedna se defakto o problem batohu. Sami jsme to tu uz resili, ale ma to enormni slozitost a my to potrebujeme pocitat relativne rychle. Hraje se to kazdy tyden, takze cilovy algoritmus se musi dobrat SPRAVNEHO vysledku behem max nekolika hodin.

Pozor, ruzne optimalizacni pristupy mohou zpusobit dostat se pouze k lokalnimu maximu, my opravdu potrebujeme vedet, ze to je ta spravna sestava.

System je napsany v ruby, pokud to budete delat v necem jinem, dejte mi vedet. Mohlo by se to pocitat nekde oddelene, coz stejne bude, jelikoz tim nechceme zatezovat produkcni systemy.

Price money 10000 Kc + pripadne dalsi penize za konzultace atd.
Pokud s tim budete chtit zacit, dejte mi vedet do posty, muzu vam poslat testovaci data.
MAIMONIDES --- 10:46:15 30.9.2013
Za poslední rok 4 návštěvy. Inu, jestli se někdo nevyjádří jinak, klub smažu či předám.
3MARIE --- 13:38:06 24.3.2010
pristi Matlab bude mit CUDU nejspis implementovanou v nekterej funkcich (FFT, matrix operations). je to nevyhnutelny.
DAVIDOWITCH --- 22:57:38 23.3.2010
tohle je uplne jina granularita nez na ktery to znam ja.
Nevim co delas v ty smycce, ale predpokladam ze to bude rozbity do vic kernelu (dost mozna o dost vic kernelu) a slo by to pekne uzonglovat s datama..
Ale je to tak zakapotovany ze to nikdy nikdo neudela.
Takze sorry, mels pravdu, pro tohle proste chces vic pameti a nic moc neresit. Me nejak nedoslo ze se CUDA uz realne pouziva uz v matlabu a takovejch vecech.
3MARIE --- 17:26:30 23.3.2010
ja tam prave neposilam uplne vsechno. pro kazdou cast GPU loopu tam poslu pouze relevantni vektor dat.

DAVIDOWITCH --- 14:51:24 23.3.2010
Aha.. sorry.
Ja pisu primo v C/C++ primo na CUDA, nepouzivam nic nad tim.
Tam bude spousta magie mezi tim.

warp je 32 threadu (cuda threadu), pulwarp je pak 16. Je to asi nejmensi jednotka co ma smysl pouzivat najednou. Jak funguje Jacket nemam nejmensi tuseni, ale je dost dobre mozny ze tady bude clovek realne limitovanej pameti protoze to bude mit tendence poslat uplne vsechno na GPUcko a pak nad tim operovat, misto toho aby tam posilal jen to co realne potrebuje.
3MARIE --- 14:43:41 23.3.2010
co je pulwarp ?

ten muj algoritmus (neparalelizovane) bezi asi takhle:

 for i = 1:30
  for j = 1:40
    //operace, ktera nejspis potrebuje nekolik desitek mega pameti
  end
end

v jacketu (matlab) jsem to paralelizoval takhle

for i = 1:30
  gfor j = 1:20
    //operace  
  gend
  gfor j = 21:40
    //operace
  gend
end 


bezi mi to 10-15x rychlej nez na dual core stroji a v accelereyes tvrdi, ze to je tak optimum co clovek muze z jacketu vytahnout, takze jsem dal nezkoumal. jakej speedup to dava tobe ? pouzivas primo .cu nebo taky nejakej plugin ?

v tom mym algoritmu kdybych dal tu vnitrni loop celou gfor j = 1:40, tak mi to zarve ze mam malo pameti, proto to delam nadvakrat. gfor je paralelni verze for.
DAVIDOWITCH --- 7:59:02 23.3.2010
takze na ty gtx285ce nemas pustenej ani celej pulwarp?
Tak to bych zkousel asi paralelizovat jinak (nebo sem to nepochopil)
3MARIE --- 1:13:25 23.3.2010
DAVIDOWITCH: bezi mi na tom analyza fazovych zavislosti lokalnich mozkovych potencialu. v podstate se zkouma zavislost amplitudy na fazi signalu ve frekvencnich pasmech, sirokych 2-5 Hz v rozmezi 0-200Hz. Kazde okno signalu je dlouhe treba 10sekund, pri 1000 Hz samplovaci frekvenci je to 10.000 samplu (16 bit resolution). u kazdeho okna se dela statisticky surrogate test (200 random shuffle serii), tzn. kdyz chci porovnat 2 ruzna pasma, potrebuju nekolikrat 200 * 10.000 samplu do pameti (jeden thread) - na gx285 se mi podari tehle paralelnich threadu pustit asi 15 (GFOR v Jacketu).