Perl 6 - the future is here, just unevenly distributed

IRC log for #divine, 2013-04-19

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

All times shown according to UTC.

Time Nick Message
05:38 spito joined #divine
06:05 xbarnat joined #divine
06:45 spito left #divine
07:29 xbarnat joined #divine
07:42 spito joined #divine
07:52 mornfall spito: A nemohl bys to přecijen udělat v jednom kroku? Ten přechod na zvětšovací tabulku?
07:52 mornfall spito: Takhle prd vidim co se uvnitř změnilo...
07:52 spito jo, udělám
07:52 mornfall spito: Když to budeš chtít benchmarkovat proti sobě, tak prostě vytáhneš z darcs starší verzi.
07:53 mornfall Dík. :)
07:53 spito mornfall: jasné, ono to nedává smysl
07:53 spito ...vlastnÄ›
07:53 mornfall No, pokud bys nedodělal další kus kódu co by ti umožňoval volbu mezi nima...
07:53 mornfall Tak si nepomůžeš.
07:53 spito pak bych asi ještě vytáhnul indexování ven, aby bylo stejné i pro normální tabulku
07:53 mornfall Jo, to by bylo supr.
07:54 spito mornfall: já to dělal taky kvůli tomu, abych viděl srovnání testů sdílené a sd. zvětšovací
07:54 spito mornfall: a jak se ti líbí soubor bitoperations.h ? :P¨
07:54 spito :P
07:55 mornfall Jo, proti tomu asi nic nemam. Počítám žes to někde ukradl? :P
07:55 spito no, idea pochází z několika webů
07:55 mornfall (Že to nemá unit testy...)
07:56 spito ale samotný soubor jsem si psal sám
07:56 spito ono na to není co testovat, že? to prostě funguje :D
07:56 mornfall ... :-)
07:56 mornfall To jsem už někde slyšel.
07:56 spito nebylo to ode mÄ›?
07:56 mornfall Asi ne.
07:58 mornfall Třeba to fill je dost silně un-obvious.
07:58 spito no, proto to má komentář
07:59 mornfall Myslím korektnost toho. O té se v komentáři nezmiňuješ.
07:59 mornfall Stejně tak není ani na druhý pohled jasný, že MSB neobsahuje off by one chybu. :D
07:59 mornfall Já bych byl za nějaký testíky rád.
07:59 spito no, ale neobsahuje, protože kdyby jo, tak se rozsype zvětšovací tabulka
07:59 spito ale že tě mám rád, tak je odpoledne doplním
08:00 mornfall :-)
08:00 spito teď jsem opět v práci a dělám nelegální činnost
08:00 mornfall Jenže to je celá pointa unit testu, žejo. Protožé až se zvětšovací tabulka rozsype, tak budeme kontrolovat všechno co není otestovaný a používá.
08:01 mornfall A to bude spousta práce.
08:01 mornfall Třeba to funguje protože tabulka obsahuje symetrickou off by one chybu.
08:01 mornfall Nebylo by to poprvé. ;-)
08:02 spito jo, já to doplním, neboj
08:02 spito krom toho tohle je verze jenom pro gcc, nevím, jestli to clang dá
08:02 mornfall Měl by.
08:02 spito jsou tam builtiny
08:02 mornfall Pak to pošli zase celý, já si tohle odškrtnu že na tom pracuješ.
08:02 spito třeba pro MSCV tenhle soubor vypadal úplně jinak
08:03 mornfall Jinej problém jsem nezachytil.
08:03 spito tak si napiš, že ještě mrknu na visitor.test.h
08:03 mornfall Líbí se mi jak je to krátký nakonec. :-)
08:03 spito ta tabulka? no, to pak ale nebude co napsat do bc :D
08:03 mornfall (A taky bych byl hrozně rád, kdybychom dokázali nějak zjednodušit to NTreeCompresed verzi...)
08:04 mornfall spito: Ale to víš že bude.
08:04 spito to, jasně, okecávačky na téma tady jsou visitory a tohle dělají
08:04 spito *no jasnÄ›
08:05 spito ale rozhodně to má větší smysl, než to, co dělám v práci
08:05 mornfall Já myslim že bychom byli rádi kdyby obdobnou práci udělal každej student aspoň na diplomku.
08:05 spito ?
08:06 spito vždyť jsem skoro nic nenapsal
08:06 mornfall Tak, u nás se nehraje na objem. Spíš naopak.
08:06 mornfall Teda v divinu aspoň.
08:07 spito spíš je blbý, že víš, že jsi to vymyslel ty :P
08:08 xstill mornfall: slyším tě, NTreeHashSet je dost velká kráva, ale dost metod je jenom jednořádkových a ty dlouhý zase moc zkráti nejdou, ale teda jsou tam ještě trochu duplikace
08:09 mornfall To je u bakalářky asi norma, myslím že důležitý je aby ses u toho něco naučil, a předvedl aj nějakou samostatnost, ale zase to není dizertace abys prokazoval originální publikovatelný výzkum...
08:09 mornfall xstill: :-) Uvidíme až se to trochu usadí.
08:09 mornfall xstill: Možná půjde, možná nepůjde.
08:10 xbarnat souhlas s mornfallem ohledne smyslu bc prace
08:10 xstill mornfall: a teda spíš je něco potřeba udělat se story, tam se mi to trochu vymklo z ruky protože NTree je vyžadoval víc obecnosti než na co jsem to plánoval
08:10 xbarnat jinak myslel jsem, ze chcete klice od servrovny, tak jsou ted zase zpatky v labu
08:11 mornfall xbarnat: Chceme, v pondělí to tam jdeme podpálit.
08:11 spito super, budu to fotit
08:12 mornfall xstill: Trochu mi ten soubor připomíná machine.h, se kterým mam stejnej problém. :-)
08:12 mornfall Má to trochu pudingovou kvalitu, nebo nevim jak bych to popsal.
08:12 xstill mornfall: ale teda snad jsem vymyslel jak přestat NTreeHashSet generátorem, jen mě štve, že mě to nenapadlo rovnou
08:12 mornfall xstill: Si zvykej. :D
08:12 mornfall Já už dva diviny zahodil skoro celý.
08:13 xstill mornfall: 2
08:13 xstill ?
08:13 mornfall No, cluster a multicore.
08:13 xstill aha
08:13 mornfall I když je pravda že na clusteru jsem toho tolik neudělal, tak mě to tolik nemrzelo.
08:13 mornfall :D
08:15 spito no lol, ty jsi docela trpělivý
08:16 mornfall To je historická nutnost.
08:16 mornfall Jen nevim koho citovat, to už jsem zapomněl. Ale někdo někde o tom určitě napsal esej.
08:17 spito tak na fakultě smažení hranolek ani nic jiného nedělají....
08:18 xstill mornfall: doufám, že ti nevadí když typ getHinted bude u NTree jinej než u normálních tabulek (ona to stejně fakticky není normální hash tabulka)
08:19 mornfall „Plan to throw one [version] away; you will, anyhow.“ Brooks, The Mythical Man Month.
08:19 mornfall xstill: Nevadí. Mohlo by skoro stát za úvahu udělat ten interface úplně jinak. Těžko říct.
08:23 xstill mornfall: no dalo by se to těsněji integrovat se storem, v podstatě některé metody jsou asi zbytečné, ale zase to jsou ty jednořádkové
08:23 mornfall xstill: Nech si to uležet v hlavě.
08:24 xstill mornfall: no já to stejně nechci dělat rovnou, teď spravím ten pool a zároveň s tím se zbavím parametrizace generátorem
08:24 mornfall Sounds like a plan.
08:24 mornfall „Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. (Attributed to Antoine de Saint-Exupéry)“
08:25 xstill :-D
08:25 spito pravdu díš, náčelníku
08:27 spito xstill: nevidím před sebou kód, ale tak zhruba co jsi upravoval, že nejdou visitoři testovat, ale funkční testy běží?
08:28 xstill no v edge je assert který říká, že transition nemůže vracet IgnoreTransition (transitionHint může protože se volá před store, a má tedy jiný typ to)
08:29 xstill spito: jinak jsem měnil jen typy a posunul ten store před transition
08:29 mornfall Jo, vidíš.
08:29 mornfall Jednak asi chceme z těch enumů udělat enum class.
08:29 mornfall A druhak jinej pro transition a jinej pro transition hint?
08:30 mornfall A přejmenovat transition hint.
08:30 mornfall Meh. :-)
08:30 mornfall spito: Možná když budeš opravovat ty testy?
08:30 xstill mornfall: no by bylo celkem fajn kdyby ty enumy byly jiný
08:30 spito oka
08:30 mornfall Bude to relativnÄ› velkej patch ale snad mechanickej.
08:31 spito mornfall: je možný ale, že se budu ještě odpoledne znovu ptát....i když si pročtu záznam
08:31 mornfall (Tím že to bude class se může zrušit ten suffix.)
08:31 mornfall spito: Jo, klidnÄ› se ptej, nebudu daleko.
08:31 spito tak abys byl připravený psychicky
08:34 spito if ( vt_syntax_Special_Instructions(TransformerStructure.ORDER_POSIT.OP_SPEC_INSTR))
08:34 spito daily wtf
08:34 spito result = true;
08:35 spito else result = false;
08:40 xstill mornfall: zdá se že můj postfix si spoměl že jsem se včera snažil poslat patche, ty 3 maily ignoruj bylo to už poslaný ručně potom
08:42 xstill (ty co se tváří že jsou ze včera)
08:42 mornfall Ok. :)
08:43 xstill (no on za to teda chudák nemůže protože byl včera vypnutej, nicméně jsem očekával že se mu nepodaří dneska najít relay.fi když jsem doma)
09:01 spito joined #divine
09:36 xstill mornfall: jaký je správný spůsob listování možností CLI parametru pro divine (v nápovědě)
09:38 mornfall Hm. Zatím žádný. :-)
09:39 xstill mornfall: no nějaký by to chtělo, uživatel si neche typovat jaký komprese podporujeme a jak je nazýváme
09:39 mornfall Já bych řekl, select compression type, one of: none, ntree?
09:39 mornfall resp. none (default), ntree?
09:40 mornfall Ale celej ten help by to chtělo trochu učesat.
09:40 mornfall V manual/commands.mdwn se lze rozepisovat docela libovolnÄ›.
09:40 xstill to by šlo, ještě musím zařídít aby ntree byl skutečně nějaký inteligentní n-ární strom a ne binární, tak kde to dává smysl
09:41 xstill mornfall: aha manuál, doplním to i tam
09:41 spito joined #divine
09:42 mornfall Můžem se zamyslet, jestli by nebylo smysluplný vypisovat manpage místo toho online helpu co máme teď.
09:42 xstill mornfall: divine má manpage?
09:43 mornfall xstill: najdeš v build-u v manual/divine.1 jestli máš pandoc
09:43 mornfall Je to ze stejnýho mdwn jako kus manuálu.
09:43 mornfall (man _build/manual/divine.1 třeba)
09:43 xstill možná i mám pandoc
09:44 xstill no fakt
09:51 xbarnat joined #divine
09:51 xbarnat mornfall: Videl si ticket #213?
09:52 mornfall xbarnat: Viděl, ale to na 99.5 % není ten problém co píšeš. :-)
09:52 mornfall Nic jako konstruktor v LLVM neexistuje, to je obyč call.
09:52 xbarnat to je m,ozne, ale myslim, ze to odhalilo chybu, ktera neni realna
09:53 xbarnat false positive
09:53 mornfall Ale jo, je to rozbitý. A metrics na tom segví.
09:53 xbarnat ja jen, ze toto jde alespon presneji identifikovat co mozna nefunguje ...
09:57 mornfall Hm. To bude problém s vtable.
10:09 xstill wow právě jsem nacpal fisher10.xml metrics do stejné paměti jakou potřebuje fisher9 bez komprese
10:09 xstill (má to 5x tolik stavů)
10:10 mornfall Jsem říkal že to bude fungovat dobře. ;-P
10:11 xstill mám z toho strašnou radost, no ale jsem zvědavej co udělá verify, mám pocit, že fronty budou ještě problém
10:12 xstill btw jelo to nad shared
10:12 xstill (4 vlákna)
10:12 mornfall Dokonce.
10:12 xstill ono to kompresi dost pomůže mít jednu tabulku
10:13 mornfall JasnÄ›, no.
10:13 mornfall Tak střednědobej cíl je mít --shared --compress=ntree jako výchozí nastavení.
10:14 xstill to by bylo super
10:15 xstill spito: ta rostoucí tabulka už bude v mainline brzo?
10:16 xstill (jsem strašně líný zadávat velikost a ono to ovlivňuje pamět)
10:20 spito xstill: ona i ta rostoucí tabulka potřebuje počáteční velikost
10:21 mornfall spito: No, tam by se dalo očekávat že default bude stačit.
10:21 xstill spito: no jasně ale nechci jí zadávat na commandline ;-)
10:22 xstill jinak doběhlo i verify na fisher10 :-)
10:24 spito_ joined #divine
10:25 spito_ rozbilo se mi to tu
10:25 spito_ něco někdo psal mě?
10:25 spito_ aneb JS v IE8 :/
10:25 xstill spito_: jen jsem ti psal že jsem líný zadávat -i na commandline ;-)
10:26 spito_ jo takhle, máš větší modely :D
10:26 xstill spito_: mám modely který mají poněkud miliony stavů
10:26 xstill hmm mainline mi zabila g++ na auře
10:27 xstill to je v hazlu
10:27 spito_ mornfall: tedy ty patche, který jsem poslal, ty nepushnes? jestli je mám amendnout nebo ne....
10:27 mornfall spito_: Můžeš amendovat.
10:27 mornfall Dokonce to je účel hry. :-)
10:28 spito_ oka, ale stačí amendnout patch pro rostoucí sh.tab a testy, ostatní se mohou nechat
10:29 mornfall Jo.
10:30 xstill no tak ten fisher10 má normálně 4.6GB (čekal jsem víc) stáhnul jsem to na 1.1GB pro verify, čas 382s bez, 391s s kompresí tomu se koro ani nedá věřit
10:30 xstill (shared -w 4)
10:30 spito_ a zkus to bez shared...
10:30 xstill no tam to bude dostatečně efektivní jen na -w 1
10:31 xstill (jinak teda počty stavů a hran sedí)
10:31 spito_ pro zjištění času pro porovnání sdílené tabulky
10:31 xstill jo takhle, tak já to dám bez komprese
10:31 spito_ to klidně s kompresí, ať mají stejné podmínky
10:32 xstill (-w 4)
10:32 xstill tak já jsem změřit obojí
10:32 xstill ale jako jestli tyhle časy budou souhlasit tak je ta komprese skoro zadarmo
10:32 xstill pro TreeCompressesHashSet jsem měl overhead 3x
10:32 xstill překvapuje mě to
10:33 xstill (je to teda build s asserty ale -O3)
10:35 mornfall asserty jsou relativně drahý aj s -O
10:38 xstill wow bez shared jsem prorazil 6GB limit (po 326s), divné, skusím to s kompresí
10:39 xstill jasný už vím proč :-D
10:39 spito_ xstill: tak tabulka se může v podstatě náhodně měnit
10:39 xstill i proč jsem to zverifikoval
10:39 xstill ono totiž shared nemá fronty :-D
10:39 xstill (mezi workery)
10:39 xstill a to je to na čem to bouchne
10:39 mornfall xstill: --disk-fifo ;-)
10:40 xstill takže shared zvyšuje i pamětovou efektivity
10:40 spito_ dík, to si tam napíšu :P
10:40 xstill mornfall: pamatuješ si za paměti jak nastavit složku kam se ukládají?
10:40 mornfall xstill: TMPDIR asi
10:40 xstill (mám tmpfs)
10:46 xstill tak bez disk-fifo to nedá ani komprimovaná verze, smutné
10:47 spito_ xstill: jak je na tom divine s partitioned visitorem a kompresí po časové stránce?
10:48 xstill spito_: nedoběhl do 6GB (stihl to zaplnit za 326s a zdechnout) težko říct kolik stavů
10:48 xstill spito_: samozřejmě diskfifo se na něm nagativně podepíší musel bych to měřit na auře ale tam mi padá gcc
10:49 spito_ no super, to se dá asi taky napsat - bez shared to prostě ani nefunguje :D
10:49 xstill spito_: + až doběhne fisher10 tak ti můžu naměřit 9 ale ten si můžeš naměřit i sám je v timed příkladech
10:50 spito_ no teď si ho nezměřím
10:50 xstill spito_: no každopádně když dáme dohromady úspory paměti tak to začíná být (bez MPI teda) dost zajímavé
10:53 xstill mornfall: diskfifo nepomohlo
10:53 xstill jdu změřit čas pro fisher9
10:53 mornfall Smutné. :-)
10:56 xstill mornfall: taky je smutné, že to tam nechalo 2GB front na disku
10:58 xstill fisher9: partitioned: 1.2GB, 60s bez komprese; 1.7GB, 66s s kompresí fuj
10:58 xstill (-w 4)
10:59 xstill shared: 0.94GB, 59s bez komprese
11:00 xstill 0.36GB, 62s s kompresí
11:00 xstill řekl bych že shared + ntree je výhra :-D
11:00 xstill ještě změřím -w 1
11:01 mornfall To máš bez assertů, nebo s?
11:01 spito_ tyjo, to není tak velká výhra ten shared
11:01 spito_ rychlost je v podstatě stejná
11:02 mornfall spito_: Protože timed má pomalý následníky.
11:02 mornfall Takže -w 4 s partitioned bude mít near-perfect scaling.
11:02 spito_ takže na otestování je lepší DVE
11:03 xstill mornfall: s asserty
11:03 xstill spito_: no ale můj počítač není tak docela 4jádro žejo
11:04 xstill partitioned, -w 1: 0.92GB, 154s bez komprese, 0.31GB, 160s s kompresí
11:04 xstill spito_: chtělo by to měřit na auře, ale tam to nezkompiluju, takže se asi přesunu na anteu
11:05 xstill spito_: ono navíc je to timed a to škáluje relativně dobře pro malé počty vláken
11:07 xstill mornfall: prosím tě, kdyby jsi poslal ty moje změny co opravují shared + ntree do mainline měřilo by se mi to na antee líp (poslední patche z dneška)
11:11 mornfall Uh oh.
11:12 xstill mornfall: jak donutím na nixu cmake vidět boost?
11:12 spito_ přesun z práce domů, offline čas cca 45 minut
11:13 mornfall xstill: Asi jen -DBoost_INCLUDE_DIR / -DBoost_LIBRARY_DIRS
11:15 mornfall xstill: Nedělal jsi náhodou někde amend něčeho, že ne?
11:15 xstill mornfall: jako do něčeho co už je v mainline? to bych snad neudělal
11:15 xstill mornfall: co se děje?
11:16 mornfall Nedokážu to apply-nout, momentálně. Zkusim z čistýho getu.
11:16 mornfall Ne. Hm, je to rozbitý.
11:17 mornfall Co se zatracenÄ› stalo.
11:17 xstill ty moje patche?, skusím to u sebe na čistý get
11:19 xstill mornfall: dostal jsem darcs: bug at src/Darcs/Patch/Depends.hs:322 compiled Apr  4 2013 19:22:50
11:19 xstill Failed to commute common patches:
11:19 xstill to jsi měl taky?
11:19 mornfall Jo, no.
11:20 mornfall darcs get anna.fi.muni.cz:dev/public/divine/mainline --context ./toolkit_-drop-unneeded-template-parameter-from-treecompressedhashset_.dpatch
11:20 mornfall darcs: Missing patches from context!
11:20 mornfall Tohle je podezřelý.
11:21 xstill mornfall: co to znamená?
11:22 mornfall xstill: Můžeš zkusit udělat send -O a ten soubor přímo apply-nout na ten čistej get?
11:22 xstill skusím
11:23 xstill mornfall: ten bundle byl asi jetej protože tohle jde, pošlu ti ten novej normálně
11:24 mornfall Nemusíš, už jsem to našel.
11:24 xstill mornfall: co je za problém?
11:25 mornfall xstill: Nějakej krám zdvojil tečky na koncích některých řádků v tom kontextu.
11:25 mornfall 598 [visitor: Move SharedVisitor to new Vertex interface used by other visitors..
11:25 xstill mornfall: to je fakt divné
11:26 mornfall Ale tohle jsem už viděl předtim, jen nevim kdo za to může. Řekl bych že nějaká kombinace MTA a MIME.
11:40 mornfall xstill: Chyba v darcsu nalezena. :-)
11:42 mornfall xstill: Btw. asi to rozbilo překlad unit testů.
11:43 xstill mornfall: sakra ono to snad nejde buildovat gcc ani na antee, co to je za bordel (internal compiler error)
11:43 xstill mornfall: aha testy opravím (po obědě)
11:44 mornfall A nemáš tam třeba gcc 4.6?
11:44 xstill mornfall: nemám
11:44 xstill mornfall: zdechne to až při kompilaci
11:45 mornfall No, my tam asi nemáme check na nic co by gcc 4.6 neumělo, nebo jo?
11:45 mornfall Jistě že tam máš 4.6. :P
11:46 xstill 13:44:30 Fri Apr 19 [xstill@antea:/dev/pts/0 +1] ~/DiVinE/release
11:46 xstill (0)$ g++ --version
11:46 xstill g++ (GCC) 4.7.2
11:47 mornfall Pravda. Hm.
11:48 mornfall Tak nevim. :-))
11:48 mornfall Uvidíme co řekne laptop.
11:48 mornfall Chvíli to asi potrvá.
11:48 xstill teda jestli to jdeš zkoušet tak zapni kompresi
11:48 xstill (ještě jsem jí nezapnul ve výchozím)
11:49 mornfall To Å¡lo rychle. :-)
11:49 mornfall /home/mornfall/dev/divine/mainline/divine/instances/simulate.cpp:16:1: внутренняя ошибка компилятора: в get_expr_operands, в tree-ssa-operands.c:1035
11:49 xstill no parse ;-D
11:50 mornfall vnutrennaja ošibka kompilatora :-)
11:50 xstill to je sice lepší ale ne o moc :-D
11:52 spito joined #divine
11:53 mornfall Ja ti to spravim.
11:53 xstill mornfall: díky, já jsem z toho nebyl schopný ani detekovat co je problém
12:01 mornfall xstill: Máš to tam.
12:03 mornfall Hm, a já pochopil ten #213 a ani trochu se mi nelíbí.
12:03 xstill mornfall: koukám, že tahle chyba s this v lambdě je dost zákeřná
12:03 xstill mornfall: díky
12:04 mornfall Začínám se trochu cítit jak na divokým západě.
12:04 xstill mornfall: ??
12:05 mornfall No, pracovat s překladačem co hází ICE doleva doprava...
12:05 xstill je to sviňa, a taky je divný, že clang si zase nestěžoval
12:06 mornfall Tam je asi jinej bug. :-))
12:06 mornfall Nejspíš maj lookup do this řešenej jinak.
12:11 spito joined #divine
12:41 xstill spito: časy pro fisher10 na antee (shared, bez komprese): w 1: 152s, w 2: 78, w 3: 79, w 4: 40, w 5: 32, w6: 39, w7: 23, w8 21
12:42 xstill jsou tam nějaké anomálie ale jinak na 8 jsi 7.2x rychlejší než na 1
12:53 xstill s kompresí: 197, 104, 70, 55, 45, 39, 35, 34 (speedup 5.8x)
12:53 xstill paměť je asi na antee dražší
13:00 spito xstill: dík
13:00 spito paměť je nejdražší na auře
13:02 xstill partitioned bez komprese: 153s, 84, 57, 44, 36, 30, 27, 27 (timed škálují dost dobře i na partitioned)
13:02 xstill spito: no auru asi teď nechám měřit shard a shared + komprese
13:03 xstill ať vidíme na čem jsme
13:03 xstill mornfall: máme nějaké VELIKÉ llvm modely?
13:03 mornfall Cojávim. ;-)
13:03 mornfall Ale LLVM je ještě pomalejší než timed.
13:03 mornfall Aha na paměť.
13:03 mornfall Nevim, no.
13:04 xstill zeptám se Milana
13:11 spito joined #divine
13:15 xstill spito: co ty tvoje unit testy tabulky v divine, je to někde ke spuštění?
13:18 spito he?
13:19 spito xstill: myslíš té zvětšovací,
13:19 spito ?
13:19 xstill spito: to je jedno, hledám nějaký velký benchmark
13:20 spito jo tohle, ale to nebylo právě ani velký
13:20 spito to mělo cca 6k stavů
13:20 xstill spito: no ale dá se to zvětšovat ne?
13:20 xstill i když 6k je fakt dost málo
13:21 spito jo, dá, pokud jsem nastavil počet operací vlánka na 100, tak už to chvíli trvalo
13:22 xstill fisher11 má 11M stavů a 7.4GB s kompresí, zbývá zjistit kolik je bez komprese ale mám tušení, žen a to antea nestačí
13:22 xstill potvrzeno
13:23 xstill nechť se aura předvede
13:25 xstill spito: stejně bys mi ten test tabulky mohl poslat pokud není v divine
13:26 spito xstill: jakmile ho najdu :D
13:28 xstill pak ten fisher11 si řekl o 25GB (to je úspora 3.4x, jsem nějak čekal víc)
13:29 spito xstill: aura:/home/xweiser1/temp/sht.cpp
13:29 spito xstill: aura:/home/xweiser1/temp/atomic
13:30 spito xstill: ale pozor, tohle je špatná verze atomic knihovny, nepoužívá memcpy a memcmp
13:30 xstill spito: díky
13:30 xstill spito: ten atomic u tohothle vadí?
13:30 spito tedy na verifikování tohoto to stačí, ptž tam jsou jenom základní typy
13:31 spito ale pro obecnou třídu to nebude fungovat dobře
13:31 spito resp. ne podle specifikace
13:31 xstill aha
13:34 xstill spito: chápu dobře, že to dělá 5 operací na 2 vláknech?
13:36 xstill spito: jinak tvoje tabulka na fisher11 ušetřila 10GB s partitioned to spotřebuje 35GB, čas 108 (shared) vs 146
13:36 spito jop
13:37 spito no, trocha zrychlení tam je
13:38 spito mornfall: nebudeš se zlobit, když bude natvrdo zakódované, že indexační funkce bude brát 8 buněk v řadě a pak skočí dál nezávisle na velikosti buňky?
13:39 mornfall spito: Zlobit asi ne. :) Ale moc práce navíc by to nebylo...
13:39 xstill spito: proč 8?
13:39 spito xstill: mÄ› napadlo
13:39 spito mornfall: ale potom to nebude compile-time konstanta
13:40 spito a já mám vůči tomuto počítané bitové operace
13:40 mornfall spito: No, když tam dáš jen sizeof( Cell ) a const int cacheline = 64; tak to bude stejný
13:40 mornfall Ale víceméně zřejmý co se tím sledovalo.
13:41 mornfall A hlavnÄ› 64 / 16 je asi jen 4, ne 8.
13:41 spito hash je pouze 4B, ne 8B
13:41 spito ono se to zarovná na 8, místo 12?
13:42 mornfall To nevim. :)
13:42 spito n*na 16
13:42 mornfall Ale 64 / 12 není ani celé číslo. :D
13:42 spito no já vim
13:42 mornfall Teda je, 5.
13:42 mornfall Protože C++ a celočíselné /.
13:43 mornfall Ale bylo by to takhle nejlepší, protože pak zbytečně nepřetečeš do začátku další cacheline.
13:43 spito oka
13:43 mornfall Navíc to 64 stejně potřebuješ abys spočítal kde začíná.
13:44 mornfall (Tzn. první celej Cell v týhle cacheline + 4 další)
13:44 xstill mornfall: myslím, že cell má 16B, protože padding
13:44 spito oka
13:45 spito takže můžeme vesele začít používat 64b hash
13:45 spito a nesežereme ani moc místa navíc
13:46 mornfall xstill: Jo, to je možný.
13:47 mornfall spito: To záleží na architektuře. :)
13:47 mornfall Když je pointer 32b tak jo.
13:49 xstill mornfall: nás zajímají 32b architektury?
13:51 mornfall xstill: Trochu.
13:58 spito mornfall: tak už si dělám constexpr bitový funkce :P
13:58 mornfall Ale v podstatě je smysluplný dát tam intptr_t.
13:59 mornfall (Jako hash)
14:00 xstill mornfall: proč ne uintptr_t? není signed hash divný?
14:00 mornfall xstill: Jasně že u.
14:01 mornfall Pokud je už teď sizeof( Cell ) 16, tak asi klidně i hned.
14:01 mornfall Až teda na to, že ten jenkins co tam je to asi neumí?
14:02 spito nevím
14:02 spito neumí
14:02 spito jen uint32_t
14:04 mornfall Chceš spookyhash, zamaskovanej na polovinu.
14:07 spito nahradit za jenkinse?
14:07 mornfall To je taky Jenkins. ;-)
14:07 mornfall Všechny dobrý hashe jsou od Jenkinse.
14:12 spito a co CityHash od googlu?
14:13 mornfall No, ta je podle CPU o dost pomalejší nebo o dost rychlejší. :)
14:13 mornfall (Bez SSE4 je v podstatě k ničemu.)
14:14 spito takže spooky je naše volba
14:15 mornfall No, anna a antea mají SSE4, pheme ne.
14:16 mornfall aura taky má... nevim no... ale zdá se mi, že už ten lookup3 co tam je teď saturuje paměťovou sběrnici
14:17 mornfall To lzcnt je stejný. :-)
14:17 mornfall Na pheme na to není instrukce.
14:18 spito takže?
14:18 mornfall Asi bych zůstal věrný Jenkinsovi.
14:18 mornfall Tzn. spookyhash.
14:21 spito koukám na ten hasher, to je drsná matika
14:27 spito počítám, že bych to měl upravit tak, aby z toho vylezl jeden *.h soubor, co?
14:28 spito mornfall: to bylo pro tebe ;)
14:28 mornfall spito: Asi jo.
17:07 xstill spito: mám pocit, že jsem ti deadlocknul shared tabulku na auře, (tools/divine metrics --compression=ntree --shared -i 28 ~/DiVinE/models/dve/la
17:07 xstill 8 --max-memory=200000 --statistic)
17:07 spito he, tam není co deadlocknout
17:07 spito kde to visí?
17:07 spito co říká gdbM
17:08 spito gdb?
17:08 xstill je to release ale tak skusím to
17:08 xstill spito: to je vlastně fakt že tam nejsou zámky že
17:08 spito jako mutexy se v buňkách uvolňují
17:09 spito a spinlock na frontu je uvolněný pomocí RAII
17:09 spito o ničem dalším nevím, že by mělo mutex
17:11 mornfall Mně už hrabe.
17:11 xstill tak asi planý poplach teď jsem dostal SIGSEGV v gdb a je to ve visitoru
17:11 spito eh? kde to tam je?
17:11 spito aspoň zhruba
17:11 xstill vypadá to že pokud program co má alokovaný řádkově GB bloky paměti zasegví tak tam chvíli visí a nic nedělá
17:11 spito mornfall: ale, copak?
17:12 xstill v NTreeStore::update
17:12 mornfall Je to úplně děsivě rozbitý.
17:12 spito a je to u tebe, nebo u mÄ›?
17:12 mornfall U mÄ›.
17:13 spito xstill: tedy je segv u tebe, nebo v sht?
17:13 xstill no ten store musím zkontrolovat s debug info, bude tam nějaká prasečina, ale teď už to nestihnu
17:13 xstill spito: uklidni se, chyba je nejspíš u mě
17:13 xstill ale bez debug info to nezjistím
17:13 spito já jsem klidný, já vim, že to mám dobře :P
17:13 spito (až na těch pár rejsů)
17:14 spito ale ty už tam nejsou
17:14 spito snad...
17:14 spito už jsem žádný dlouho neviděl....
17:14 spito i divine řekl OK....
17:14 xstill co všechno člověk zjistí když chce posunout limity
17:14 mornfall Schovává se za rohem. :-)
17:14 xstill (to je totiž model co nikdy ještě celej nedoběhl)
17:15 spito aha...ale to je jedno, ne?
17:15 spito i tak by to na něm mohlo fungovat
17:15 xstill btw aby jste o tom věděli MAP a OWCTY s NTree někdy vrací blbosti a někdy asertují, zítra to snad spravím
17:15 xstill spito: fungovat by to mělo
17:16 mornfall xstill: s NTree bez shared, předpokládám, protože shared tam zatim nefunguje
17:16 spito tak třeba map a owcty se Shared nefungují ...možná tak omylem
17:16 mornfall ty vyassertí docela rychle
17:16 xstill mornfall: no jo ve functional testech
17:16 mornfall jo tak
17:17 xstill myslím že se někde nepropaguje slack ale nevidím kde
17:18 xstill no nic zase zítra
17:19 spito xstill: ty jsi v labu?
17:19 xstill spito: ne
17:52 spito mornfall: není zbytečný, že tabulka bere všechno konstantní referencí? nebylo by lepší (s ohledem na bloby) brát vše hodnotou?
17:53 mornfall To asi bere jen shared ne?
17:54 spito jo, opravím to
18:09 spito xstill: SharedStore si mám asi dodělat, že? nebo tam je někde schovaný?
18:09 spito xstill: nebo specifické věci ohledně shared přístupu mají být v SharedTable?
18:18 spito xstill: jo a to co je teď v definitions.h je .... se mi moc nelíbí :D
18:34 spito mornfall: jak to má být s těmi enumy?
18:34 spito transition má vracet něco jiného než transitionHint?
18:38 spito húúú húúúú. jsem sova a houkám....
19:04 spito spíte?
19:10 mornfall Nespíme.
19:10 mornfall Má.
19:11 mornfall A obojí má být enum class.
19:17 spito a co to má být? pomalu mě můžeš instruovat, já si dávám pauzu (čti večeřím a relaxuji hraním), pak na to hupnu
19:25 mornfall Buď kreativní. ;-)
20:22 mornfall No, a teď velký dilema. :-)
20:27 spito copak máš za dilema?
20:27 spito jinak s těmi enumy, teď to je transitionAction, co s tím vlastně chceš provést? rozdělit na trAction a trHint?
20:31 mornfall TransitionAction a TransitionNěco :)
20:33 spito jo...a trAction nemá mít Ignore?
20:33 spito nebo je můžou mít obě?
20:33 spito he, ty jsi asi zaneprázdněn, co?
20:35 mornfall Nemá, a Něco nemá mít skoro nic.
20:35 mornfall No, já koumám co udělat s cyklem v inicializaci konstant.
20:35 spito co má mít transitionHint?
20:35 mornfall No, asi jen Take a Ignore.
20:36 mornfall TransitionFilter?
20:36 spito proč ne Hint?
20:36 spito no...ten filter je asi lepčí
20:36 mornfall Protože to v podstatě nedává smysl.
21:31 spito mornfall: jde nějak darcu říct, aby mi ukázal co se změnilo mezi daty v douboru?
21:31 spito *souboru
21:38 mornfall darcs chan -i soubor je asi nejjednodušší
21:39 mornfall v ti ukáže příslušný patch
21:40 mornfall darcs chan --match 'date "after 2013-04-01"' soubor
21:41 mornfall darcs chan --match 'date "after 2013-04-01" && date "before 3 days ago"' :-)
21:50 spito mornfall: asi to bude jak u blbečků na dvorečku, ale.....TransitionAction nemá mít Ignore?
21:50 mornfall Fakt nemá.
21:50 mornfall Protože to neumíme implementovat.
21:50 spito tak proč to je v testech použité?
21:51 spito eh, co by to tedy mělo dělat?
21:51 mornfall Protože to máš rozdělit na transition a transitionFilter.
21:51 mornfall No, mělo by to ten stav uvolnit.
21:51 mornfall A na to už je pozdě.
21:52 spito pozdě to měnit v DiVinE?
21:52 spito nebo že je ještě dnes už pozd+
21:52 spito *Ä›
21:52 spito ?
21:52 mornfall Na to už je pozdě protože je to zapsaný ve storu.
21:52 mornfall V moment když voláš transition.
21:53 mornfall Nebo tak něco, anyway.
21:54 spito OKa
22:19 spito mornfall: to co udělal Vláďa, to rozbilo opravdu jenom testy visitora?
22:20 mornfall Ten assert? Nebo ještě něco jinýho myslíš?
22:20 spito no, to vypadá, že tam je rozbitý snad úplně všechno paralelní
22:20 mornfall Kde?
22:20 spito ve visitor.test.h
22:21 spito buď to segví, nebo assertí a nebo to nedoběhne
22:21 mornfall Nevim, no. Moc by to padat nemělo. :)
22:22 mornfall Ale kdoví.
22:22 mornfall Zejtra chytni jeho.
22:22 mornfall Já jdu spát.
22:22 spito ok
22:24 mornfall Dneska mám 5 hodin čistýho (arbtt) času na divinu. To je docela smrt.
22:24 spito to je hodnÄ›?
22:24 spito nevím v jakých relacích žiješ
22:25 mornfall No, on se do toho třeba nepočíta browser.
22:28 mornfall Hm, a počítání IRC bylo rozbitý protože jsem přesunul irssi na localhost. Škoda.
22:28 mornfall Takže IRC se taky nepočítá. :-)
22:29 spito no, abys z toho nezmagořil :D
22:31 mornfall No, non-idle je 13 hodin, takže počítej že to je tak 12h čistá pracovní doba. :-) Fakt si jdu lehnout.
22:31 spito jo, běž
23:13 spito left #divine

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