Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-10-12

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

All times shown according to UTC.

Time Nick Message
07:56 spito joined #divine
10:52 spito mám kacířskou myšlenku
10:52 spito můžu?
10:52 xstill jistě, že tu myšlenku můžeš mít :-P
10:53 spito ono by se klidně mohlo sebrat nějakých 16 horních bitů z haše a podle toho rozdělovat vrchol
10:53 spito y
10:53 xstill na MPI nody?
10:54 xstill jo když těch n bitů sebereš z druhé půlky hashe než z čeho se určuje index a budou jiné než to co se uloží do tagu v compact-cell tak určitě
10:55 xstill bitů máme dost
10:56 spito nejen MPI, ale i partitioned
10:56 spito 2^16 je celkem dost, ne?
10:56 xstill no jo jasně, to je tototéž
10:56 xstill tak pokud budeme mít 2^16 workerů tak to stejně bude strašně pomalé takže je to dost
11:00 xstill už se pomalu blížíme k tomu mít všechno co mělo být v 3.1
11:03 xstill spito: asi by sis mohl zavřít #186 (a napsat tam co je hotovo) a udělat ticket na dual-layer architectore někdam do 3.2 nebo future
11:04 spito :D
11:04 xstill tak ten název toho tiketu odpovídá tomu co je hotovo, jeho popis vůbec :-D
11:04 spito heleď, proč si atomic cell uchovává část hashe a compact cell nikoliv?
11:05 xstill tak to nevím, to Mornfall nějak překopal divně
11:06 spito neměl by i compact cell mít poznačenou část hashe?
11:07 xstill logicky měl
11:07 xstill nevím proč je to tak
11:08 xstill on se ale CompactSet stejně nepoužívá
11:09 xstill hm, ani FastAtomicCell už se zase nepoužívá
11:09 xstill ach jo
11:09 spito :D
11:16 xstill mornfall: mainline/divine/llvm/constants.cpp: 36: assertion `non-doubl
11:16 xstill e, non-float FP constant' failed;
11:17 xstill je to model z #256
11:19 xstill hm, teď jsem dostal jiný assert na tom modelu
11:19 xstill divine/llvm/program.h: 221: assertion `int( pc.function ) <= int( functions.size() ) - 1' failed; got [3968] > [802] instead
11:20 xstill tamto byl nějaký starší build tak to už je asi opravené
11:23 mornfall to by chtělo backtrace
11:23 mornfall jestli to není přetočenej program counter
11:24 mornfall jo, 186 zavři a vynadej Jiříkovi že ty tikety prasí :-)))
11:25 mornfall spito: ^
11:25 xstill podívám se na backtrae jen co překompiluju
11:26 mornfall tak, compactcell má momentálně tu výhodu, že je kompaktní aj když T /= Blob
11:26 xstill ještě kdyby se někdy použil :-D
11:27 mornfall no, otázka je k čemu :-)
11:27 mornfall to je spíš na to změřit co se jak chová a jednu variantu vybrat
11:27 xstill ušetřít paměť
11:27 xstill jo no
11:27 mornfall dávat tam teď výběr když nemáme ponětí co je lepší v čem a o kolik ani my, ne to ještě uživatel... to leda nafoukne počet instancí
11:31 xstill ten staktrace je zase děsně velkej
11:31 xstill nejde to z gdb zapsat do souboru?
11:31 mornfall gdb -batch :-)
11:32 mornfall a přesměrovat
11:33 mornfall (-ex "thread apply all bt" nebo něco takovýho)
11:33 mornfall bt full ideálně :-)
11:34 mornfall (resp. -ex run -ex "thread apply all bt" pokud nemáš core...)
11:36 xstill jo už to pouštím
11:37 xstill https://divine.fi.muni.cz/trac/attachment/ticket/256/trace.txt
11:38 xstill potřebuju se provětrat
11:38 mornfall hm, v tomhle má libstdc++ výhodu, že gdb (konečně) defaultně formátuje kontejnery
11:39 mornfall někdo by se mohl obětovat a napsat skript na libc++ ;-)
11:40 mornfall a my bychom potřebovali custom demangler :D
11:40 mornfall na visitory a tak...
11:41 mornfall název funkce v thread 2 frame 10 má víc než 2 obrazovky na výšku...
11:42 xstill no to fuj
12:13 spito mornfall: co takhle brát na určení vlastníka pro vrchol 41. až 48 bit + dalších 8 bitů?
12:14 spito 16 nejvyšších bitů se bere pro komprimovanou buňku do hashset
13:28 mornfall a proč nevezmeš vrchní půlku toho hash128_t?
13:28 mornfall nebo teda nějaký bity z toho... tady to smysl náhodou i má :-)
13:29 mornfall kterých dalších 8 bitů bys bral?
13:59 mornfall spito: proč je reset parametr v ring? není to trochu haluz?
13:59 mornfall a v parallel
14:04 spito mornfall: tak potřebuju resetovat data
14:04 spito a někdy se to resetovat nemusí
14:04 mornfall kdy?
14:04 spito aspoň tak mi to přišlo z kódu
14:04 spito ne vždycky se volá něco s visitorem
14:04 spito a v tom případě to resetovat nemusíš
14:05 mornfall no, ale tys to udělal tak že se to všude stejně resetuje
14:05 spito ale jo, můžu to oddělat
14:05 spito no právě že se resetuje jenom parallel
14:06 mornfall no, ale prostě ten parametr nikde nepoužíváš
14:06 mornfall no
14:06 mornfall hlavně
14:06 mornfall proč to nevoláš ve visit?
14:07 spito to se už volá paralelně
14:07 mornfall parallel aj ring momentálně fungujou i když žádný data nemáš
14:07 mornfall a vadí to moc?
14:23 spito no...asi tak, že úplně to vadí
14:26 mornfall proč?
14:27 mornfall můžeš si vyrobit atomic_flag třeba
14:47 spito atomic flag mi je na nic, nemyslíš?
15:02 spito resp ono ty to s ním šlo, ale bylo by to dle mého zbytečné
15:15 xstill k čemu vlastně je potřeba ten reset?
15:18 mornfall spito: no, tak to vymysli nějak jinak :D
15:19 mornfall ale parallel s visitorem nemusí mít nic společnýho, tak je to trochu škoda tím prasit
15:21 spito no, ale instance visitora musí dostat konsistentní data
15:21 spito tedy se to musí nějak upatlat ještě před jejím startem
15:22 mornfall no a není teda ideální moment vrazit to před konstruktor toho visitora?
15:22 spito ten už ale je paralelní
15:22 mornfall ...
15:23 mornfall chodíme v kruhu :-)
15:23 mornfall a když se udělají dva visity v jednom volání parallel tak už konzistentní data nepotřebuje?
15:23 spito hmm
15:24 spito xstill: je to potřeba, protože shared visitor má detekci startu všech instancí
15:24 spito a ten potřebuješ restartovat po každém běhu
15:25 xstill aha
15:25 xstill a nemůže se restartovat když visitor doběhne?
15:25 mornfall zrovna jsem chtěl navrhnout že by mohl být samoresetovací
15:27 mornfall detector.visitorStart( worker.peers() ) by to v podstatě vyřešilo ne? případně rovnou aj while ( !detector.started( worker.peers() ) )
15:27 mornfall pokud visitorStart zjistí že counter == worker.peers() (předtím než přidá sebe) tak ví že je potřeba ho zresetovat (atomicky)
15:27 mornfall jdu do města, bbl
15:28 spito bbl = ?
15:28 spito bye-bye lidi?
15:29 xstill be back later typuju
15:29 spito no, to dává lepší smysl
16:00 spito mornfall: ok, přepracuju detektor startu
16:02 spito je dobrý nápad, když to bude samoresetovací bariéra?
17:53 mornfall jo, be back later
17:53 mornfall bbiab -- be back in a bit
21:14 mornfall http://s-macke.github.io/jor1k/
22:07 xstill to je dost nechutná věc
23:22 spito left #divine

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