Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-10-28

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
08:40 xstill hm, já se divím proč v topu pořád vidím ld když nekompiluji divine zrovna. A ono to gcc. Takže nejsme jediní kdo s tím má problém.
08:41 xstill akorát, že normální člověk si nebude kompilovat gcc...
11:30 spito joined #divine
12:00 xstill joined #divine
13:19 _ilbot joined #divine
13:19 Topic for #divine is now DIVINE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
15:08 mornfall on je tady svátek dneska
15:08 mornfall to je podvod :D
16:00 _ilbot joined #divine
16:00 Topic for #divine is now DIVINE: A Parallel LTL Model Checker (http://divine.fi.muni.cz) | http://irclog.perlgeek.de/divine/
16:13 mornfall xstill: jo, mohl bys napsat na divine@ že zítra není ;-)
16:33 xstill mornfall: no pokud musím já tak napíšu
16:33 xstill se nediv že je svátek, neznáš dějepis?
16:46 xstill a to jsem si zasloužil čím že se mi restartoval počítač?
17:20 spito joined #divine
17:22 spito Boy and a girl are sitting in c++ lecture. Then, all of a sudden,
17:22 spito boy reaches to the girl and grabs her tit.
17:22 spito "Hey! That's private!" screams girl at him.
17:22 spito "But I thought we were in the same class."
17:29 xstill :-D
17:30 mornfall Koukám že spito se vrací do puberty. :D
17:30 mornfall Achjo ti akademici to není možný.
17:32 xstill co?
17:33 mornfall Posílaj haluzný maily na haluzný adresy.
17:33 mornfall Viz divine@
17:34 mornfall To je ten stejnej co psal Hi Barnat...
17:35 xstill wtf. ten kód
17:36 xstill bylo by hodně špatný napsat mu že ten assert nastal protože to má blbě?
17:37 mornfall jo, protože on píše že divine to nenašel :-)
17:37 mornfall což je počítám stejnej bug jak ten druhej
17:38 mornfall #263
17:38 xstill aha, to je ovšem problém potom
17:39 xstill to je ovšem divný
17:40 mornfall tak mainline tu chybu najde
17:40 xstill vytoření vlákan není pozorovatelný?
17:40 mornfall když se tam přidá #include <assert.h> teda
17:40 mornfall bez toho to jen řekne že assert je nedefinovaná fce :-P
17:41 xstill tak je možné že assert byl includovaný v pthreads
17:41 mornfall jo, kdysi možná jo
17:41 xstill se divim pokud teď neni teda
17:41 mornfall proč by byl?
17:42 mornfall v implementaci je, ale v headeru?
17:42 xstill jasný to dává smysl
17:43 mornfall on to navíc asi cpe do toho webovýho formuláře nebo co
17:44 xstill k tomu ten formulář je ne?
17:47 mornfall to se divim že ho to nevyfakovalo že to je moc velký :D
17:49 xstill tak ono to dělá všeho všudy 3 locky a 3 inkrementy
17:50 xstill to by nemělo bejt velký
17:53 xstill jak velký to je v mainline?
17:56 mornfall asi dost, zatím 10k stavů
17:57 xstill potom je něco dost špatně
17:58 xstill někde bych měl mít model na pthreads co měl pár set stavů
17:59 mornfall 251k
18:00 xstill jsem ho někde smazal
18:00 mornfall to není moc, když vezmeš že tam jsou 4 vlákna
18:01 xstill nevím mě to příjde dost, ale to by se musalo srovnat s něčím
18:01 mornfall 15s se to počítá na osmi vláknech
18:02 mornfall se --shared 14.9 ;-)
18:02 xstill :-D, kolik paměti?
18:03 mornfall 5.8G -- ale to je VmPeak zase
18:04 xstill hm, ty peaky jsou dost velké
18:08 mornfall ale tak protipříklad najde za 0.1s
18:08 mornfall to ani nestihne poznat že přelezl paměť
18:10 mornfall ale ten protipříklad co to najde je fakt dobrej, jede jen první vlákno a main mu pod nosem změní i, takže assert už kouká na jiný políčko
18:15 xstill hezké, kolik má ten trace stavů?
18:16 mornfall ~25
18:16 xstill to je dobré
18:20 mornfall co ten Romanovsky?
18:22 mornfall asi by ho mohl někdo upozornit na století, druhak, m4 má docela obsažnej manuál
19:11 spito hele, ten tranzitivní uzávěr se počítá tak, že log(n) krát vynásobím matici M a mám výsledek?
19:11 spito M=M*M dokola
19:11 spito (jen se chci ujistit)
19:29 xstill asi ceil( log( n ) )
19:29 xstill dvojkovej log
19:30 xstill ale není to úplně standartní násobení
19:30 spito ?
19:31 xstill tak především ti platí, že pokud někde byla hrana tak jí nesmíš smazat, což by ti při normálním násobení naslalo
19:31 xstill ale to uvidíš na příkladech
20:37 spito http://pastebin.dqd.cz/eZHG/
20:37 spito toto padne na SIGSEGV
20:38 spito přesně na řádku 11
20:38 spito co chápu špatně?
20:50 xstill těžko říct, použij cgdb
20:50 spito chyba je v mallocu
20:50 xstill ?
20:50 spito jenom si říkám, že alokace by neměla zabít program
20:51 spito chyba je při alokaci vektoru
20:51 xstill a to je možné jak?
20:52 spito no, to mi povídej
20:52 spito malloc prostě vrátí nullptr
20:53 xstill nealokuješ třeba nulovou velikost?
21:01 spito no, ne
21:01 spito ale ono to je jedno
21:04 xstill jakto?
21:04 spito ono i když oddělám tu transponovanou matici, tak se to rozbije
21:05 spito vadí tomu i jenom ta výsledná matice
21:05 spito a nedokážu pochopit, proč se to rozbije
21:05 spito - ta výsledná matice spadne při dealokaci
21:05 xstill to je jak kdybys někde rozbil hadu
21:05 xstill divné
21:06 xstill kde to padá bez transpose?
21:07 xstill hm, 5: result[i].resize( i ); to nebude dobře...
21:07 spito v destruktoru
21:07 spito Data
21:07 spito takže jo, rozbitá halda
21:07 spito ale kde se to mohl dojebat, to abych věštil
21:07 spito *mohlo
21:08 xstill oprav ten řádek 5
21:08 xstill kdo ví co udělá resize( 0 ) na vector< bool >
21:08 spito ni
21:08 spito c
21:08 spito jo, už to vidim
21:08 spito jsem vůl
21:08 * spito --> jáma
21:08 xstill tak tohle se stane dost lehce
21:09 xstill spíš mě zajímá jestli je to tím
21:10 spito hmm, ale parallel je brutálně pomalý
21:12 xstill tak mě zase neběží vůbec paralelně
21:12 xstill a nevím proč
21:16 xstill je to strašně divný
21:20 * xstill --> jáma :-D
21:21 spito jakto?
21:21 spito to mě to běhá paralelně
21:21 spito to jo
21:21 spito jenomže čím víc omp parallel tam narvu, tím pomajeli to běhá
21:21 spito *pomaleji
21:22 xstill divil jsem se, že to nefunguje a měl jsem #pragma omp parller
21:22 xstill a gcc nic neřekne, že nezná pragma dokud nezapnu warning
21:22 xstill teď mi to běhá na 4 vláknech 2x rychlejš než na sekvenčně
21:22 xstill zhruba
21:22 spito hmm
21:23 xstill doplnil jsem jeden omp for, předpokládám, že bariéra za ním  je implicitně
21:24 xstill dokonce mám i stejný výslekek ;-)
21:24 spito tak výsledek musí být stejný
21:24 spito bariéra tam je z principu
21:25 spito teda jako jo, na 2 vláknech je to rychlejší
21:25 spito ale pokud to poženu na auru, tak tam to na 24 vláknech rozhodně není rychlejší
21:25 spito aura --> aisa
21:25 spito nemá aisa hyper threading?
21:25 xstill aisa je amd
21:26 xstill -> nemá
21:26 xstill skusil bych spíš anteu
21:26 xstill a hlavně velkou matici
21:26 xstill a paralelizovat správnej for
21:27 spito no, ten nejvíc vnější v násobení
21:27 spito aspoň tuším
21:27 spito :)
21:27 xstill já taky vnější
21:27 xstill protože kdo ví jak se chová vector< bool> při paralelním přístupu...
21:28 xstill a nehrozí tam navíc moc false-sharing
21:29 spito no, jako moc mi to stejně nefunguje
21:29 xstill mě to na auře škáluje cca 5x
21:29 xstill na 1000 matici
21:30 xstill přidám řád
21:30 xstill hm ono je to vlastně kubické, s 10000 bych se načekal
21:31 spito spito@aura [/home/xweiser1/IV112/04] => ./sequential 2000 > out.txt
21:31 spito done in 920ms
21:31 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 2000 > out.txt
21:31 spito done in 716ms
21:31 xstill nedělal jsi to zrovna když jsem tam byl já?
21:31 spito parallel jede explicitně na 4 vláknech
21:32 xstill aha, já to nechám jet co to dá
21:32 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 2000 > out.txt
21:32 spito done in 1381ms
21:32 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 2000 > out.txt
21:32 spito done in 475ms
21:32 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 2000 > out.txt
21:32 spito done in 467ms
21:32 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 2000 > out.txt
21:32 spito done in 1086ms
21:32 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 2000 > out.txt
21:32 spito done in 1647ms
21:32 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 2000 > out.txt
21:32 spito done in 352ms
21:32 spito takže to závisí na počasí v Bangladéši, už jsem na to přišel
21:33 xstill to tam maj pěkně proměnlivo ovšem :-D
21:33 xstill tak to je aura, žejo
21:33 spito takže o škálování mi nemluv
21:33 spito :D
21:34 xstill mě to ale škáluje i na auře teda
21:34 xstill (25x pro 4000 matici)
21:34 xstill ale ten random generátor jsem modifikoval
21:35 xstill protože jinak byla ta matice moc hustá a bylo to moc rychlý
21:35 xstill možná pust do /dev/null
21:35 spito xstill: a škáluje ti to hezky?
21:35 spito jako že vždycky ti to běží pěkně?
21:36 xstill celkem jo
21:37 spito no...ono by to asi chtělo vyzkoušet běhy na stejném grafu
21:38 xstill ./parallel 4000 0 # 0 je seed -> grafy jsou stejné
21:44 xstill hm, ono to má mít ještě textovou část, sakra
21:44 xstill že se to Jiříkovi chce číst
21:47 spito no, tak něco se mu tam nalže
21:47 spito máš paralelizovaný pouze jeden for cyklus? žádný další?
21:47 xstill tak podle mě to nemá smysl jinak
21:48 spito jako já si taky myslim
21:48 spito btw: použil jsi taky transponovanou matici?
21:48 spito nebo ne?
21:48 xstill ne
21:48 xstill jak rychlý máš sequential (1000, aura)?
21:48 spito no, záleží na náhodě
21:49 spito já jsem generátor upravil tak, že 10% šance, že bude hrana
21:49 xstill já mometálně 0.5%...
21:50 xstill a jsem na 5 sekundách
21:50 spito to jde
21:50 spito taky zkusím
21:51 spito jinak já ukončuji výpočet pro buňku, když zjistím, že na tom místě už existuje jednička
21:51 xstill já taky, i proto jsem tak moc snižoval pravděpodobnost
21:52 spito a jaký seed pro ./sekquential 1000?
21:52 spito 0?
21:52 xstill 0
21:52 spito spito@aura [/home/xweiser1/IV112/04] => ./sequential 1000 0 > /dev/null
21:52 spito done in 4141ms
21:53 spito hmm
21:53 spito spito@aura [/home/xweiser1/IV112/04] => ./parallel 1000 0 > /dev/null
21:53 spito done in 294ms
21:53 spito tak to asi fakt funguje
21:53 xstill mě to lítá mezi 4300ms a 5000ms
21:54 spito tak ta transpozice dělá asi dost svoje :)
21:54 mornfall vaše starosti... :-P
21:54 xstill 100ms myslíš?
21:54 spito xstill: no, k 5s jsem se ještě ani nepřiblížil
21:55 xstill ale mám 28x rychlejší na 32 vláknech
21:55 spito no, tak to mám pomalejší
21:56 mornfall spito: transponuj paralelně
21:56 xstill mornfall: jak řeknu bash skriptu aby zemřel při první chybě?
21:56 mornfall set -e
21:56 xstill dík
22:02 spito xstill: zkus matici 5000 nad sequential :D
22:02 spito mě trvala 240s
22:03 xstill a toho jsi dosáhl jak? nemáš náhodou zase větší pravděpodobnost?
22:05 xstill nebo mi cheš tvrdit, že jsi to paralelně transponoval a jsi 100x rychlejší?
22:08 spito jop
22:08 spito paralelní transpozice
22:09 spito ale to je 240000ms
22:09 spito jakože 4 minuty
22:09 spito ale jo, parallel běžel jenom 8 vteřin
22:09 xstill aha, jsem slepej, proto jsem se tak divil
22:10 xstill what
22:10 spito a pravděpodobnost je random() % 200 == 0
22:10 xstill aha to je zhruba 30x rychlejší tak to by sedělo
22:10 xstill já mám 5000 za 258s
22:11 xstill ale naučil jsem se novou bash-magii
22:13 xstill 8.6 vteřiny na 32 vláknech
22:14 spito jak se kontroluje idempotence?
22:14 mornfall máš to napsaný v zadání
22:14 spito ./sequential expected/c > tmp
22:15 spito diff tmp expected/c
22:15 spito ?
22:17 xstill to by mělo fungovat
22:26 xstill spito: konzultoval jsi hlavičkové soubory? :-D
22:28 spito jaké?
22:28 spito STL?
22:28 spito ne
22:28 spito proč bych to měl dělat?
22:28 spito :D
22:28 xstill ani já ne, ale tak my víme co to dělá
22:28 xstill protože je to v zadání
22:29 xstill chudák kdo to udělá (zvlášť pokud neměl c++)
22:29 mornfall tak, jde čistě o to že vector bool není vector bool, a to je dobrý vědět
22:29 spito jo, to jo, a tohle bude asi mít vliv na rychlost, ne?
22:30 xstill mornfall: jo Nikola nám to říkal v hospodě
22:30 spito (o důvod víc chodit do hospody)
22:34 mornfall to se na c++ neučí? :-p
22:34 spito učí
22:34 xstill tak neučí se že když s tím použiješ auto tak si zaděláš na problém
22:34 xstill spito: fakt se to učí?
22:34 spito ale tak, jako že se to tam zmíní, což imlikuje to, že to vypadá, že se to tam neučí :D
22:35 spito *implikuje
22:35 spito jo, švenda to na přednáškách zmiňuje
22:36 mornfall o &x[y] nemluvě
22:36 xstill ouč
22:37 xstill i když to je v podstatě skoro ten problém
22:37 mornfall http://www.gotw.ca/gotw/050.htm
22:41 xstill tak odevzdáno. Čas jít spát.
23:16 spito left #divine

| Channels | #divine index | Today | | Search | Google Search | Plain-Text | summary