ccshan
2018-3-16 13:37:21

@rjnw \ks{Just to be sure, are all these numbers (5 means and 5 standard errors) in milliseconds (not seconds)? So with full optimization we can run 3921 sweeps per second?}


carette
2018-3-16 15:08:49

There are now just two unaddressed PLDI comments — one for @ccshan and another for me to try to address. As it concerns signposting throughout (because we’re not reorganizing this paper at this point!), what I will do is to start reading the paper from the start, tweaking things as I go. I expect this to go quickly and smoothly for the first 4 sections, as they’ve been gone over quite a lot. I’ll then slow down through sections 5 and 6.


carette
2018-3-16 15:09:38

I’ll commit+push often, to minimize merge hell. But if someone is working on a particular section, please say so, there’s no need to cause unneeded merges.


carette
2018-3-16 15:38:40

I’m thinking we should remove the radar chart. If we had been able to rank 2–3 other systems on that chart along with the current system, it would make sense. On its own, it seems gratuitous.


rjnw
2018-3-16 15:54:15

@ccshan these numbers are ms per sweep, they are calculated by just doing one update though


rjnw
2018-3-16 15:54:38

wait let me check again


rjnw
2018-3-16 15:56:42

seconds per sweep


rjnw
2018-3-16 15:57:28

so with full optimizations it is around 2.5 seconds per 10 sweeps which is somewhat same as in fig13


carette
2018-3-16 19:34:17

@rjnw I’ve edited 5.1 quite a bit (and still at it). Please read asap to make sure I have not changed the meaning of things in bad ways.


rjnw
2018-3-16 19:34:48

I did, looks good to me. I will keep an eye on the changes.


carette
2018-3-16 19:35:08

That was 5 intro. I just, just checked in 5.1.


rjnw
2018-3-16 19:36:03

roger


rjnw
2018-3-16 19:47:24

So one thing about loop fusion I wanted to mention but I don’t think I did. Fusing loops don’t guarantee performance benefit as sometimes it disturbs locality of reference. But in our case most of the loops in hakaru iterate over a specific array. If you see an oppurtunity to add that somewhere, it might be helpful.


rjnw
2018-3-16 19:48:29

when we fuse loops we fuse not only on the bounds but also how those bounds were evaluated i.e if they are using the same array size.


carette
2018-3-16 19:54:29

I’ve added this information to what I’m about to push.


rjnw
2018-3-16 20:18:02

How much time does hk-maple takes for something like our GmmGibbs or ClinicalTrial example? It runs much faster on karst than on my machine. Where ClinicalTrial takes 33 seconds using karst and has been running for last 15 minutes


rjnw
2018-3-16 20:18:11

on my machine


ccshan
2018-3-16 20:19:00

I wonder if it has to do with mismatched versions of our Maple code and Maple itself. I know it can be slow, but not 15 minutes.


carette
2018-3-16 20:20:35

And remember that there’s Maple 2017.1 and 2017.2, not just 2017.


rjnw
2018-3-16 20:21:31

hmm


rjnw
2018-3-16 20:23:45

I checked the option to update when I installed


rjnw
2018-3-16 20:24:20

let me try again


ccshan
2018-3-16 20:24:38

You can get precise version info in Maple by saying version();


ccshan
2018-3-16 20:25:09

But also I don’t know when ppaml.mla was last updated on karst or on your machine


carette
2018-3-16 20:25:55

I was just about to ask about ppaml.mla versions!


rjnw
2018-3-16 20:26:32

is that different than running update archive?


ccshan
2018-3-16 20:28:11

No, it’s the same


rjnw
2018-3-16 20:29:44

I did that but not much difference still running after a minute


rjnw
2018-3-16 20:30:17

and the version(); gives and error in maple


ccshan
2018-3-16 20:30:44

That’s surprising. Can you supply a screenshot or photo?


rjnw
2018-3-16 20:31:07

hmm not this time, ``` > version(); User Interface: 1265877 Kernel: 1265877 Library: 1265877


rjnw
2018-3-16 20:32:31

karst is 1194701


carette
2018-3-16 20:33:23

I’ve finished a pass on 5.3 (which finished 5). Onto 6!


ccshan
2018-3-16 20:36:45

My version(); is 1247392 and it also is taking at least 100s to simplify <http://ClinicalTrial.hk\|ClinicalTrial.hk>. Maybe @carette has access to older Maple versions to try?


carette
2018-3-16 20:38:05

Hmm, not easily. My Maple 18 on my laptop doesn’t start anymore because of some missing Java libraries.


carette
2018-3-16 20:38:39

And Maple 18 on my PC got wiped when I had to reinstall the OS because of, well, Windows 10 being Windows 10.


carette
2018-3-16 20:38:51

And I never actually got Maple 2016.


ccshan
2018-3-16 20:39:44

So Jacques, since you’re on Section 6, let me encourage you to revise it a lot — reorder as you wish — to highlight the punch line of “faster and more accurate” front and center. And you can at least leave room for us to say something about how long simplification takes on karst (we can describe both Maple version and the shared hardware on which Maple runs over ssh)


carette
2018-3-16 20:39:56

I do have Maple 2017.1 though.


carette
2018-3-16 20:40:42

Do we have the equivalent of http://ClinicalTrial.hk\|ClinicalTrial.hk as a Maple test?


ccshan
2018-3-16 20:40:44

Is that 1247392? It can be worth trying it in case it finishes surprisingly within 1 minute


carette
2018-3-16 20:41:05

That would certainly make my life simpler as far as testing/debugging this.


ccshan
2018-3-16 20:41:18

No


carette
2018-3-16 20:41:19

Yes, that version.


rjnw
2018-3-16 20:41:20

@ccshan can you also try the gmmGibbs it takes around 8minutes using karst for me


carette
2018-3-16 20:42:15

Where is this <http://ClinicalTrial.hk\|ClinicalTrial.hk> file exactly? AFAIK we had 3 repos in use for this paper at some point…



carette
2018-3-16 20:43:15

@ccshan I’ll do a first pass on section 6 for wording, then see about bigger changes.


ccshan
2018-3-16 20:43:26

I’d suggest the opposite order but whatever helps


ccshan
2018-3-16 20:43:42

You can give file names from the testcode/hksrc directory directly to hk-maple with nothing else on the command line


carette
2018-3-16 20:45:02

I tend to read+edit. And section 6 is short. I want to get it all in my head first. Then I’ll see about structural changes.


ccshan
2018-3-16 20:45:12

ok


carette
2018-3-16 20:45:26

Then I’ll see about |http://ClinicalTrial.hk\|ClinicalTrial.hk|, unless that’s blocking?


rjnw
2018-3-16 20:46:00

http://ClinicalTrial.hk\|ClinicalTrial.hk was an example I want more GmmGibbs timings with maple


rjnw
2018-3-16 20:46:29

That’s what I want to compare to Jags in terms of startup time


ccshan
2018-3-16 20:46:45

Right


carette
2018-3-16 20:56:59

I’m building the most recent hkmaple now.


ccshan
2018-3-16 20:57:33

My http://GmmGibbs.hk\|GmmGibbs.hk simplification is taking at least 14 minutes


carette
2018-3-16 20:57:48

I’m a little sad to see that a few tests from NewSLOTest.mpl fail. Though none in PlateT.


carette
2018-3-16 20:58:35

I didn’t think anything changed in the Maple code in the last 3 months. I think the last changes were in September!


ccshan
2018-3-16 21:00:56

So, my cpu usage is not up. Maybe there’s a bug in communication with Maple?


carette
2018-3-16 21:02:41

I don’t understand your statement + question. CPU usage of what? Communication in what context? Local or to karst? Of what call exactly?


ccshan
2018-3-16 21:03:14

CPU usage on my laptop, where I’m timing hk-maple. Communication between the Haskell side and the Maple side. Local. hk-maple <http://GmmGibbs.hk\|GmmGibbs.hk>


carette
2018-3-16 21:03:30

@rjnw the caption to fig:gmm50 says “each on the line point is for accuracy”, and I don’t understand what that means.


carette
2018-3-16 21:04:08

So the communication bug would be that what is sent to Maple is different than it used to be?


carette
2018-3-16 21:04:30

That is possible. A few changes have been made to the Haskell side of things.


ccshan
2018-3-16 21:04:57

Or Haskell doesn’t wait for the result from Maple in the same way anymore, or…


rjnw
2018-3-16 21:05:04

“Each point on the line is at every 10 sweeps.”


carette
2018-3-16 21:05:09

Try a slightly older version? Say from when we were working on the PLDI version?


carette
2018-3-16 21:05:16

@rjnw Thanks.


ccshan
2018-3-16 21:05:28

slightly older version of Maple?


carette
2018-3-16 21:06:26

slightly older version of Hakaru, the Haskell side.


ccshan
2018-3-16 21:07:54

Maybe go back to hakaru commit 23e5a8e7f4c67b3c704fe00aefdeea1450007662 ?


rjnw
2018-3-16 21:08:05

okay let me try


rjnw
2018-3-16 21:14:02

so I have never had hk-maple finish when using local maple


rjnw
2018-3-16 21:14:19

I wait for 10–20minutes


carette
2018-3-16 21:16:20

Do we have ‘microbenchmarks’ that are known to usually finish almost immediately?


carette
2018-3-16 21:17:03

I’ve used hk-maple on various tests (mostly of simplify) with no problems, locally. But not in a few months.


ccshan
2018-3-16 21:17:27

This finishes immediately for me: p <~ beta(1,1) weight(p^4*real2prob(1-p), return p)


carette
2018-3-16 21:17:45

[ClinicalTrials also uses disintegration — could something have changed there?]


ccshan
2018-3-16 21:17:46

hk-maple -c Simplify /tmp/x.hk


rjnw
2018-3-16 21:18:52

@ccshan this one works


ccshan
2018-3-16 21:19:07

@carette You don’t nee \noindent after \end{enumerate} as long as you don’t put a paragraph break there


ccshan
2018-3-16 21:20:14

So for http://GmmGibbs.hk\|GmmGibbs.hk I think the next step is to take hk-maple --debug output and feed it into Maple directly, then debug/trace that in Maple.


carette
2018-3-16 21:20:17

I’m a little paranoid about \noindent, so I tend to put it in, just in case someone puts in an extra blank line.


rjnw
2018-3-16 21:23:18

I gave the output of hk-maple —debug directly to maple. It uses timelimit of 90 is it 90 seconds?


ccshan
2018-3-16 21:23:26

Yes


ccshan
2018-3-16 21:23:55

What’s supposed to happen is you get a timeout error after 90 seconds then you add --timelimit=600 or whatever to the command line.


rjnw
2018-3-16 21:24:51

But if I don’t give that when using hk-maple it doesn’t error out which is weird, but giving that output of debug to maple errored out


rjnw
2018-3-16 21:26:03

it times out when I don’t give 600 timelimit when using karst


ccshan
2018-3-16 21:26:21

So that seems like debugging progress. Maybe the way timeouts happen has changed… Maybe Maple no longer exits on timeout, so maybe the Haskell side is waiting for Maple to finish computing and the Maple side is waiting for more commands from the Haskell side


rjnw
2018-3-16 21:26:23

anyways now running with 600 timelimit directly using maple


ccshan
2018-3-16 21:27:24

If increasing —timelimit eliminates the hang, that’s definitely a bug in what I’d call Haskell-Maple communication, but it can be worked around by increasing —timelimit


rjnw
2018-3-16 21:31:09

okay it gave some output and quit, I don’t see any error in there


ccshan
2018-3-16 21:31:19

How long did it take?


ccshan
2018-3-16 21:31:20

roughly


rjnw
2018-3-16 21:31:34

hmm maple says 332


ccshan
2018-3-16 21:31:49

Is that 5m32s? I don’t know how Maple says these thigns.


rjnw
2018-3-16 21:31:49

I guess that is seconds


ccshan
2018-3-16 21:32:11

It would be bad if Maple simplified http://GmmGibbs.hk\|GmmGibbs.hk to “332” I guess


rjnw
2018-3-16 21:32:22
&gt; quit
memory used=13283.2MB, alloc=711.8MB, time=332.40

rjnw
2018-3-16 21:32:29

oh no this is after the simplified output


ccshan
2018-3-16 21:32:40

Oh I see, that’s seconds. But yeah, it seems that timeout behavior has changed and you should work around it for now by increasing —timelimit when invoking hk-maple


ccshan
2018-3-16 21:33:30

Also maybe put “Maple 2017.2” instead of “Maple 2017” in the paper — right @carette?


carette
2018-3-16 21:36:55

Right.


ccshan
2018-3-16 21:40:42

@carette I just pushed this:

In other words, this list captures just enough information from the context to enable primitive distributions to generate integrals in direct style, instead of continuation-passing style.\ks{I’m not sure what this sentence means. I suggest omitting this sentence until we have a version of $\integrate$ that doesn’t use this list argument and accordingly passes continuations. I don’t have such a version.}


ccshan
2018-3-16 21:46:23

I’ve been avoiding the name “Hakaru”, because it’s never introduced in the paper, and introducing it properly would be slightly deanonymizing and slightly unscientific (because science is all about objective propositions right?). This means using the phrase “our (probabilistic) language” more. Also the legend in the evaluation can omit the name “Hakaru” and instead say “New LLVM backend”, “Old Haskell backend \citep{zinkov-composing}”, “JAGS”.


carette
2018-3-16 21:47:26

Sure.


samth
2018-3-16 21:47:52

I’m happy to defer on this since I’m not doing anything but I find that names are often helpful for this sort of thing


samth
2018-3-16 21:48:27

And I think the FAQ says it’s ok wrt double blind


carette
2018-3-16 21:49:15

But it’s going to be 99% obvious who wrote this paper, I think this level of de-anonymization serves no real purpose. And as @samth says, it’s permitted.


carette
2018-3-16 21:49:36

Anyways, I’m finishing a first pass on the paper before anything else.


carette
2018-3-16 21:50:40

Note that I will definitely disappear for a few hours soon - and may not have more than a couple of hours later in the evening to dedicate to polishing.


rjnw
2018-3-16 21:51:05

Just a curious question we cite zinkov-composing so if someone reads that they will find out everything. Is that okay in double blind and everything?


rjnw
2018-3-16 21:52:24

also I changed the plot to what ken suggested


ccshan
2018-3-16 21:53:46

What do you mean “find out everything”? You mean they will realize that the authors of this paper are Zinkov and Shan?


rjnw
2018-3-16 21:53:50

@ccshan I ran hk-maple with timelimit=600 but it didn’t help still got stuck and I killed it after 18 minutes, now running with --debug


rjnw
2018-3-16 21:54:05

I mean Hakaru and your name basically


carette
2018-3-16 22:07:48

So any opinions on whether we keep or toss that radar chart?


samth
2018-3-16 22:08:41

@rjnw that’s fine, you can’t tell that’s by us


carette
2018-3-16 22:11:04

I’ve put in some text for 3 of the 4 contributions that were still ’to do’s (for @rjnw).


rjnw
2018-3-16 22:14:17

I think something might be wrong with communication between hakaru and maple on my machine


rjnw
2018-3-16 22:14:39

the same thing which maple does in 5minutes when given directly hakaru is stuck waiting for maple


ccshan
2018-3-16 22:15:25

Maybe it’s fine to give a ballpark figure based on invoking Maple directly.


carette
2018-3-16 22:16:20

@ccshan Do you intend to write something about “Perhaps draw analogy to optimizing compilers.” from the comments on PLDI reviews? That’s the last thing in there.


carette
2018-3-16 22:17:51

As to the comments in the paper itself, there’s mine about the radar chart, and all the rest are from @ccshan in section 6. I must admit to being at a bit of a loss as to how to reorganize it properly, as I’m simply not sure what comparisons will be in the final paper — that keeps changing!


ccshan
2018-3-16 22:18:57

By “what comparisons” do you mean what measurements?


carette
2018-3-16 22:19:28

I’ve got another 20 minutes now, and then I’ll probably be away for a couple of hours.


carette
2018-3-16 22:19:43

Yes. What measurements of what.


carette
2018-3-16 22:20:24

And even how to really evaluate those results. I’m not really sure what constitutes a good accuracy improvement between one system and the next.


ccshan
2018-3-16 22:22:04

Maybe the best use of your 20 minutes is to draft a response to the previous review.


rjnw
2018-3-16 22:22:22

@carette are you talking about the naive bayes comparison?


rjnw
2018-3-16 22:22:39

or gmmgibbs


carette
2018-3-16 22:23:37

Are we going to do that? The paper is a lot better, but the evaluation section is still rather sub-optimal.


rjnw
2018-3-16 22:24:30

For naive bayes I still don’t know what to say, if you look at the measurements we have per update time for mallet accuracy and per sweep time for JAGS accuracy and per sweep time with LLVM and haskell backend


carette
2018-3-16 22:24:31

@rjnw both. And the stuff in section 6.3. I have a really hard time interpreting what it all really says.


rjnw
2018-3-16 22:25:44

For 6.3 I am going to switch back to a table of measurements, that bar chart does not help


rjnw
2018-3-16 22:26:20

essentially they are timing measurement by “turning off” some optimizations


rjnw
2018-3-16 22:26:36

so as to show that our optimizations actually do something in terms of performance improvements


carette
2018-3-16 22:27:05

Remember, I do symbolic computation and code generation (really high level — generating Haskell is great, anything lower level is a pain) and math. I am a rank amateur at the rest.


carette
2018-3-16 22:27:36

I agree that the table was better than the bar chart. Easier to interpret, somewhat.


rjnw
2018-3-16 22:27:48

That’s why you give good feedback


carette
2018-3-16 22:28:20

The problem is that there was no baseline. Does it make sense to run things without any optimizations at all? Is it possible?


rjnw
2018-3-16 22:29:01

I can do that give me few minutes


carette
2018-3-16 22:30:14

With the total absence of @pravnar, tiny dips from @samth, and in-and-out from @ccshan, shall I guess that they are all working on other ICFP papers?


carette
2018-3-16 22:31:14

[To be fair, I was going to also, but things kind of imploded a couple of weeks back, making it clear that there was no way to get something in good shape by the deadline]


samth
2018-3-16 22:32:21

I’m on paternity leave


samth
2018-3-16 22:33:15

carette
2018-3-16 22:33:21

@samth Indeed, I actually knew that, forgot. Good of you to mostly stick to it :sunglasses:


rjnw
2018-3-16 22:33:25

There is some issue with running without any optimizations, I think there might be a bug somewhere because it is saying 250 times faster than full optimization


carette
2018-3-16 22:33:44

Very cute!


carette
2018-3-16 22:34:15

@rjnw Hopefully that is indeed a bug…


rjnw
2018-3-16 22:35:10

I ran it again now it’s around 1000 times faster


carette
2018-3-16 22:35:34

Are your flags reversed somehow?


carette
2018-3-16 22:36:09

If all of them are, that would mean a rather different interpretation of 6.3!


rjnw
2018-3-16 22:36:11

not really I mean I am using the hakaru code without summary which is slow to run with my compiler optimizations turned off


rjnw
2018-3-16 22:37:11

I have written the benchmark seperately for each of them


rjnw
2018-3-16 22:37:22

manually tweaking things to turn them off


rjnw
2018-3-16 22:37:33

so most probably I am doing something wrong here


rjnw
2018-3-16 22:38:28

because it’s saying 3ms to run 10000 updates for GmmGibbs with 50 classes and 10000 points


rjnw
2018-3-16 22:38:57

which is equivalent to doing nothing in a loop of size 10000


carette
2018-3-16 22:41:32

That is really weird.


carette
2018-3-16 22:45:23

Where is hk-maple available? I thought it was in the main hakaru repo, but stack build didn’t give anything named hk-maple


ccshan
2018-3-16 22:45:45

It should be the main hakaru repo…


carette
2018-3-16 22:47:17

I do see it in the cabal file. Odd.


carette
2018-3-16 22:49:03

Ah, not under dist/, under .stack.


carette
2018-3-16 22:52:53

Oh weird. On my MacBook Air (not a fast computer), using Maple 2017.1, hk-maple <http://ClinicalTrial.hk\|ClinicalTrial.hk> works successfully (locally) in 11 seconds!


ccshan
2018-3-16 22:53:38

latest ppaml.mla from master, right?


carette
2018-3-16 22:53:43

Yes.


ccshan
2018-3-16 22:54:11

version 1247392?


carette
2018-3-16 22:54:24

Yes.


carette
2018-3-16 22:55:30

[But remember that some external dll was broken on the Mac, and so it didn’t end up using that path. Which is likely why there are some failures, now that I think of it]


rjnw
2018-3-16 22:55:30

so if I run clinical trial directly on maple using the debug output of hk-maple it takes 6.7seconds


ccshan
2018-3-16 22:55:49

(Separately, Jacques, the most helpful thing you can do might be to continue revising Section 5, ifyou see more room for improvement there. Let me know if you tackle that.)


carette
2018-3-16 22:55:59

On a decent computer, that is not so far from what I get.


rjnw
2018-3-16 22:56:34

yeah but haskell gets stuck it never shows it got anything from maple in debug


ccshan
2018-3-16 22:56:53

I get the behavior Rajan just described


carette
2018-3-16 22:56:54

(I can try. It’s decent now. Though I will be starting my ~2 hours offline any minute now)


rjnw
2018-3-16 22:57:13

There might be some communication changes in maple, which Ken mentioned before


carette
2018-3-16 22:57:27

Weird. I just pulled from master and compiled everything from scratch.


carette
2018-3-16 22:57:37

I would have the same communication changes…


carette
2018-3-16 22:57:51

which I guess may only affect Linux and/or Maple 2017.2 ?


rjnw
2018-3-16 22:58:02

could be


ccshan
2018-3-16 22:58:03

But Jacques and I are using the same maple version. I’m on Linux though. I’m rebuilding hakaru to see if it affects it.


rjnw
2018-3-16 22:58:29

What is the formula for calculating percentage slowdown?


rjnw
2018-3-16 22:58:47

that should be a good column in the table for optimizations right?


carette
2018-3-16 22:58:59

[Have to go. Back some time after 9:00]


rjnw
2018-3-16 22:59:30

@samth ping!


ccshan
2018-3-16 22:59:38

I don’t know what formula you’re talking about.


samth
2018-3-16 23:00:12

Pong but not at a computer until maybe 9


rjnw
2018-3-16 23:00:59

calculating percentage slowdown in two different runtime. At full opt we are 0.2 seconds with no histogram 460 so % slowdown?


rjnw
2018-3-16 23:02:53

or should I say percent improvement


samth
2018-3-16 23:09:58

I think slowdown, but not percentage


samth
2018-3-16 23:10:12

Percentages are often confusing


rjnw
2018-3-16 23:11:34

and should I use fast/slow –1?


carette
2018-3-17 00:35:34

Back (at least mostly). Early, apparently.


ccshan
2018-3-17 00:35:46

I’m in the middle of improving 5.1


carette
2018-3-17 00:36:02

@rjnw Did you ever figure out why the no optimization version seemed to be faster?


carette
2018-3-17 00:36:18

@ccshan Ok, I won’t touch that.


rjnw
2018-3-17 00:36:33

No not yet


carette
2018-3-17 00:36:55

Worrisome…


carette
2018-3-17 00:40:39

Does it make sense for me to edit section 6. Some of the English recently added has some grammar mistakes. But I don’t want to edit if you’re going to check something in at any time @rjnw.


rjnw
2018-3-17 00:42:32

the naive bayes benchmark part needs a lot of work


rjnw
2018-3-17 00:42:59

I am adding numbers so you can go ahead with the writing part


carette
2018-3-17 00:44:33

Ok, will do.


samth
2018-3-17 01:30:18

I’m now relatively available for a while


samth
2018-3-17 01:30:24

is there something I should work on editing?


samth
2018-3-17 01:30:50

one thing I noticed is that the table of no-opt slowdowns, 0.8x should probably be 80x or something like that


ccshan
2018-3-17 01:30:57

Is Section 6 an instance of Brooks’s law?


ccshan
2018-3-17 01:31:07

(I’m on Section 5.2)


carette
2018-3-17 01:33:48

Section 6 does seem to suffer from too many cooks.


carette
2018-3-17 01:34:01

Anyways, I’ve done some (significant?) edits to it.


samth
2018-3-17 01:34:09

oh, i see it should be more like 1.8x


carette
2018-3-17 01:34:24

I agree with @samth that there seems to be an issue with that 0.8x.


samth
2018-3-17 01:34:53

it should just be 1.8


rjnw
2018-3-17 01:35:04

I did slow/full – 1


rjnw
2018-3-17 01:35:39

if you don’t have –1 then full is 1x slower than itself


rjnw
2018-3-17 01:35:58

also slowdown itself does not give a good picture


samth
2018-3-17 01:36:16

1.8x is the conventional presentation of “slowdown” for those numbers


rjnw
2018-3-17 01:36:17

it should be speed up with opposite ratio but then the table becomes weird


samth
2018-3-17 01:36:40

I think adding 1 to those numbers gets the right result


ccshan
2018-3-17 01:36:51

(I’m keeping an eye on this conversation and it seems that it’s not interfering with Jacques’s work yet)


rjnw
2018-3-17 01:37:00

I am saying if you add 1 then add 1 to the last row as well?


rjnw
2018-3-17 01:37:11

which makes it 1x slower than itself


carette
2018-3-17 01:37:27

I think those slowdown numbers are all dubious.


rjnw
2018-3-17 01:37:40

I agree then don’t make sense


rjnw
2018-3-17 01:37:44

they*


carette
2018-3-17 01:37:58

0.003183/0.000499 ~ 6.379


rjnw
2018-3-17 01:38:17

that is standard erro


samth
2018-3-17 01:38:18

those numbers are the standard error


samth
2018-3-17 01:38:29

I have pushed what I think is the correct table


carette
2018-3-17 01:38:30

Oops!


ccshan
2018-3-17 01:38:44

Misspelled something?


carette
2018-3-17 01:39:10

1.8x it is indeed.


carette
2018-3-17 01:40:06

@samth ‘pushed’?


samth
2018-3-17 01:40:20

git push


carette
2018-3-17 01:40:47

I know. I normally get an email when anyone pushes. And I didn’t.


carette
2018-3-17 01:41:09

But that’s apparently an email server problem, git pull got your push.


samth
2018-3-17 01:43:03

Is there a particular section that no one else is looking at?


samth
2018-3-17 01:43:17

and/or is there something I can do to help NB appear in the paper?


ccshan
2018-3-17 01:44:18

Sam, you can look at 5.3 (but perhaps read the beginning of Sections 5.0, 5.1, and 5.2 first, for context)


ccshan
2018-3-17 01:44:28

But that’s less urgent than NB


carette
2018-3-17 01:44:40

Right now, I am not actively working on any section. Perhaps :white_frowning_face: ?


samth
2018-3-17 01:45:10

ok, or i can work on editing some totally other section if someone else wants 5.3


carette
2018-3-17 01:45:12

I am at a bit of a loss on what I can really do to improve things.


ccshan
2018-3-17 01:45:50

Anyone needs any Maple (or Maple/Haskell connections) debugged?


carette
2018-3-17 01:45:54

For NB, for example, what could I do to help?


ccshan
2018-3-17 01:46:44

Jacques raises a good issue about our final contribution item, “compared to…popular probabilistic programming systems”. We only show JAGS. I’m sure we’re much faster than, say, WebPPL, but that’s because Zinkov showed that even the old Haskell backend was faster than WebPPL.


carette
2018-3-17 01:48:01

What do we have the time to reasonably show in this paper?


samth
2018-3-17 01:48:49

We should just cite Rob showing that


carette
2018-3-17 01:49:08

Even if Zinkov showed the old Haskell backed was faster, we ought to show it again to claim it as a real contribution.


carette
2018-3-17 01:49:49

I think the problem is claiming it as a contribution of this work.


samth
2018-3-17 01:50:26

is the problem just the plural there?


samth
2018-3-17 01:50:32

or that we claim to do the comparison?


carette
2018-3-17 01:50:42

My question was just about the plural.


samth
2018-3-17 01:51:15

if we rephrase to “are faster and more accurate than manually specialized-and-tuned code, popular probabilistic programming systems, and a previous backend that emits Haskell”


samth
2018-3-17 01:51:21

is that reasonable?


samth
2018-3-17 01:51:54

since if Zinkov shows that old-Hakaru is faster than webppl, then by the transitive property …


carette
2018-3-17 01:52:03

It’s not false.


ccshan
2018-3-17 01:52:06

So just drop “Our benchmarks show that”?


carette
2018-3-17 01:52:15

“reasonable” is a different bar :wink:


samth
2018-3-17 01:52:19

no just drop the “compared to”


samth
2018-3-17 01:52:34

I don’t understand why this would be unreasonable


samth
2018-3-17 01:53:05

or perhaps, I think that truth is a sufficient condition for reasonablness


carette
2018-3-17 01:53:24

It’s getting late, I get pickier then…


carette
2018-3-17 01:53:50

We need to cite Zinkov in the right place(s), but I think we can defensibly claim that.


ccshan
2018-3-17 01:54:30

Who can do that please?


carette
2018-3-17 01:54:32

@samth Want to do the honours?


samth
2018-3-17 01:54:40

doing it now


rjnw
2018-3-17 01:54:53

carette
2018-3-17 01:55:32

Great. Perhaps label that ‘Ours’ ?


rjnw
2018-3-17 01:55:52

I am also waiting on haskell backend timing


rjnw
2018-3-17 01:56:02

it’s been running for a few days now


rjnw
2018-3-17 01:56:14

it’s almost finished we will get better jags timings as well


ccshan
2018-3-17 01:56:53

So use the same label as the legend in the GmmGibbs plot.


rjnw
2018-3-17 01:56:59

okay


ccshan
2018-3-17 01:57:10

Also, error bars (standard error)


rjnw
2018-3-17 01:57:37

@ccshan it’s not possible in racket, I am going to do this in tikz and maybe you can help with it?


ccshan
2018-3-17 01:58:04

Ok, so is this the only tikz plot in this paper?


ccshan
2018-3-17 01:58:16

I suggest you make a table for now then. Thanks for the plot though.


ccshan
2018-3-17 01:58:25

(I’ll take your table and make it a plot with error bars)


samth
2018-3-17 01:59:20

I just pushed something with a missing citation to webppl


rjnw
2018-3-17 02:01:01

@ccshan done


rjnw
2018-3-17 02:01:32

I added haskell as a placeholder for now


ccshan
2018-3-17 02:04:45

Imma use the word prepone!!!


carette
2018-3-17 02:04:49

So I think the citation should be


carette
2018-3-17 02:04:51

@misc{dippl, title = {{The Design and Implementation of Probabilistic Programming Languages}}, author = {Goodman, Noah D and Stuhlm"{u}ller, Andreas}, year = {2014}, howpublished = {\url{http://dippl.org}}, note = {Accessed: 2018–3–16} }


carette
2018-3-17 02:04:52

?


carette
2018-3-17 02:05:37

That’s how they ask to be cited.


samth
2018-3-17 02:06:36

done


carette
2018-3-17 02:08:30

And I’ve added that (with key webppl) to the .bib file.


carette
2018-3-17 02:11:06

So, other than the numbers/table from @rjnw are we waiting for any more data?


rjnw
2018-3-17 02:11:48

no we are just waiting for better numbers


rjnw
2018-3-17 02:12:01

which I am hoping will finish soon


carette
2018-3-17 02:12:38

Ok, is there anything left to write, other than that ?


rjnw
2018-3-17 02:12:39

also I was looking at the no optimization number still no luck there


rjnw
2018-3-17 02:12:57

no


carette
2018-3-17 02:13:22

@ccshan are you still polishing section 5?


ccshan
2018-3-17 02:13:51

Yes, almost done with 5.2


carette
2018-3-17 02:14:34

@samth I think another set of eyes on section 6 (or the early parts of 5) would be good.


carette
2018-3-17 02:15:32

I am now a bit too familiar with the content, and am starting to have a harder time seeing things to improve.


rjnw
2018-3-17 02:21:59

so there is no difference between no histogram and nothing


rjnw
2018-3-17 02:22:09

I will add that to the table


carette
2018-3-17 02:23:06

So histogram makes no difference? That seems surprising.


rjnw
2018-3-17 02:23:33

no when histogram is off nothing makes any difference


carette
2018-3-17 02:23:58

Oh! That’s pretty big!


rjnw
2018-3-17 02:24:14

When only histogram is off it’s 460ms when histogram is off and all our optimization are off it’s 470


rjnw
2018-3-17 02:24:48

which is sort of what I expected


rjnw
2018-3-17 02:26:54

I think the difference is bigger in naive bayes though


carette
2018-3-17 02:27:21

Eagerly awaiting good numbers then.


ccshan
2018-3-17 02:27:29

I’m on to 5.3…


carette
2018-3-17 02:27:39

As we should be able to say something about that.


ccshan
2018-3-17 02:44:40

@rjnw What does “all the required functions for probability distributions” refer to?


rjnw
2018-3-17 02:45:06

categorical and others


ccshan
2018-3-17 02:45:13

So, not “prog”, but the primitives?


rjnw
2018-3-17 02:45:16

yes


ccshan
2018-3-17 02:45:20

And things like logsumexp etc. Got it.


rjnw
2018-3-17 02:45:24

yes


ccshan
2018-3-17 02:49:45

Ok so I’m going to read Section 6 in its current state


ccshan
2018-3-17 02:50:43

Someone could spell-check…


carette
2018-3-17 02:53:13

Ok, I’m on it.


samth
2018-3-17 02:56:34

why is there an extra significant figure in the first row of fig 14?


rjnw
2018-3-17 03:00:19

my mistake probably


rjnw
2018-3-17 03:00:22

I will fix it


carette
2018-3-17 03:01:45

Apparently I can’t do the spell check. Neither aspell nor ispell are on this machine, and my installation of brew is broken. At least, that’s what it tells me.


carette
2018-3-17 03:02:31

Trying to fix that right now doesn’t seem wise.


samth
2018-3-17 03:05:28

i’ll do it


samth
2018-3-17 03:05:34

i made a few edits in 5.3


samth
2018-3-17 03:10:25

done


carette
2018-3-17 03:11:24

Boy oh boy @ccshan that thumb of yours is getting some serious exercise! :sunglasses:


carette
2018-3-17 03:12:25

Ok, @rjnw just checked in some new numbers. Is there some text that we should add to comment on that?


ccshan
2018-3-17 03:12:26

Admittedly not my usual finger.


carette
2018-3-17 03:13:00

Also, are we still awaiting more numbers?


rjnw
2018-3-17 03:13:31

no


rjnw
2018-3-17 03:14:04

there more of JAGS running but they are just for reducing standard error, which even now is not so bad


ccshan
2018-3-17 03:14:33

What about startup/simplification times?


rjnw
2018-3-17 03:14:55

oh yeah, I am running that manually though


rjnw
2018-3-17 03:15:20

and my hakaru is not working with maple


rjnw
2018-3-17 03:16:01

do we call maple twice in simplification and summary?


carette
2018-3-17 03:16:46

The last table in 6.1 - did @ccshan say he was going to turn that into something else?


rjnw
2018-3-17 03:16:52

because right now what I have is just the first time maple is called which I got from running hk-maple using --debug


ccshan
2018-3-17 03:17:09

@carette Yes and that’s still the plan


carette
2018-3-17 03:17:14

Right now, it is odd, as it uses the Mallet numbers as a header line.


rjnw
2018-3-17 03:17:35

that table is there just for data


rjnw
2018-3-17 03:17:58

@ccshan is making a bar chart


carette
2018-3-17 03:18:12

I am starting to seriously fade. It’s been a long week, and I don’t know if there really is a lot I can contribute anymore.


carette
2018-3-17 03:18:43

Seems like that bar chart is really the main thing left to do. And perhaps one more pass on section 6. The rest seems really solid.


ccshan
2018-3-17 03:18:44

You can help Rajan with Maple(/Haskell)


ccshan
2018-3-17 03:19:06

I’m on Section 6 including bar chart. It needs revision.


rjnw
2018-3-17 03:19:10

I can just use the numbers with karst?


ccshan
2018-3-17 03:19:25

yall figure out what numbers to use, i’m reading


carette
2018-3-17 03:19:39

Sure - @rjnw what can I do to help on that front?


rjnw
2018-3-17 03:20:11

I need to get the time it takes to do simplification


carette
2018-3-17 03:20:35

Of which problem?


rjnw
2018-3-17 03:20:41

GmmGibbs


carette
2018-3-17 03:20:55

And have you been doing it on your machine or karst?


carette
2018-3-17 03:21:07

What is the input file you use for GmmGibbs?


rjnw
2018-3-17 03:21:27

So for actually running it and doing timing benchmarks for sweeps I just used karst



ccshan
2018-3-17 03:22:26

@rjnw Is it true that “The Haskell backend takes 500 second to do 100 sweeps” (GmmGibbs)? Figure 13 seems to show that 10 sweeps take ~33 seconds, so I’d expect 100 sweeps to take ~330 seconds, not 500.


ccshan
2018-3-17 03:23:06

@rjnw Figure 14 is for NB, right? And do you have standard error for those accuracies?


rjnw
2018-3-17 03:23:19

let me check


carette
2018-3-17 03:24:51

I seem to have my machine set up to ssh into karst (as user ppaml), but I don’t seem to have a password stored anywhere…


ccshan
2018-3-17 03:25:11

@rjnw Also “we reach 40% accuracy where JAGS never exceeds 35%” seems a bit overselling because Figure 13 depicts JAGS reaching ~36%


ccshan
2018-3-17 03:25:31

@carette Send me a public key and I’ll get it installed. That’s probably what you were doing before, not password.


ccshan
2018-3-17 03:25:51

@carette (Also you may have a karst account yourself.)


rjnw
2018-3-17 03:26:03

I think I wrote the 35% part when I was cutting off gmm gibbs where we finish


carette
2018-3-17 03:26:17

I think I do. And I think I installed that key.


ccshan
2018-3-17 03:26:29

@rjnw Ok so if you could look at the numbers now, what’s JAGS’s maximum accuracy and what’s ours?


carette
2018-3-17 03:26:32

Anyways, I’ll email you that right now.


rjnw
2018-3-17 03:28:04

haskell backend takes around 400 seconds to do 100 sweeps


ccshan
2018-3-17 03:28:12

Oh @rjnw did you figure out the “no optimizations” benchmark while I wasn’t paying attention?


ccshan
2018-3-17 03:28:32

@rjnw Ok I’ll change 500s to 400s and 35% to 36%


rjnw
2018-3-17 03:28:46

yeah I added those numbers in the table


ccshan
2018-3-17 03:31:15

@carette Installed. (Your previously installed key is a different one ending in jpxrxh4= carette@carette-notebook)


carette
2018-3-17 03:32:00

Yeah, that was likely a DSA key instead of RSA


ccshan
2018-3-17 03:34:21

@rjnw I’m still waiting on “Figure 14 is for NB, right? And do you have standard error for those accuracies?”


rjnw
2018-3-17 03:34:47

I was just double checking the jags maximum accuracy for gibbs


carette
2018-3-17 03:34:48

Hmm, it still asks for a password. I tried as ‘carette’ and as ‘jcarette’.


rjnw
2018-3-17 03:34:53

I will calculate now


ccshan
2018-3-17 03:35:46

@carette You’re doing ssh ppaml@karst right?


rjnw
2018-3-17 03:35:49

okay I don’t jags is still running


carette
2018-3-17 03:36:08

Didn’t have the ppaml. Let me try again.


ccshan
2018-3-17 03:36:26

@rjnw So you’ll be updating the Jags column (both means and std errors) in Figure 14?


carette
2018-3-17 03:36:34

aha!


rjnw
2018-3-17 03:36:35

yes


ccshan
2018-3-17 03:36:50

@rjnw Ok great, would you please confirm it’s NB?


rjnw
2018-3-17 03:36:51

also for karst I don’t use the ppaml karst, I use mine


rjnw
2018-3-17 03:37:11

NB? figure 14?


ccshan
2018-3-17 03:37:14

Then the ppaml karst probably needs a maple update-archive


rjnw
2018-3-17 03:37:18

it is naive bayes


ccshan
2018-3-17 03:38:29

@rjnw Thanks


ccshan
2018-3-17 03:42:49

@rjnw So, the table you left for me… Is it per-sweep or per-update times? I assume the first numeric column is mean and the second is std err (not std dev), but what are the units?


rjnw
2018-3-17 03:43:01

per update


rjnw
2018-3-17 03:43:15

I was not able to do full sweep in mallet


rjnw
2018-3-17 03:43:16

ms


rjnw
2018-3-17 03:43:26

yes


ccshan
2018-3-17 03:43:27

Got it


ccshan
2018-3-17 03:43:53

Std err, I assume.


carette
2018-3-17 03:43:57

What module do I need to load to have access to stack on karst?


ccshan
2018-3-17 03:44:00

Std err in ms, I assume.


carette
2018-3-17 03:44:22

As I don’t seem to have/see it. Nor kb-maple.


ccshan
2018-3-17 03:44:51

Maybe we use cabal on karst?


carette
2018-3-17 03:44:57

I do have maple 2017 loaded (though I had to change that since it defaulted to 2016)


rjnw
2018-3-17 03:45:10

@ccshan yes


rjnw
2018-3-17 03:45:23

should I update the accuracy values for fig14 in tex?


rjnw
2018-3-17 03:45:30

I got the stderr


carette
2018-3-17 03:45:39

I tried to use cabal, but it complained that various things were not installed.


ccshan
2018-3-17 03:45:42

@rjnw Yes please go ahead (I haven’t touched it yet)


rjnw
2018-3-17 03:45:47

okay


carette
2018-3-17 03:45:55

and ghc —version is 7.6.3 !!!


ccshan
2018-3-17 03:46:31

@carette Let me dig out an old ppaml-l message that might help…


ccshan
2018-3-17 03:47:41

@carette Are you using the ppaml account or your own karst account?


carette
2018-3-17 03:48:18

I did ssh ppaml@karst.


carette
2018-3-17 03:48:41

‘who am i’ says ppaml.


ccshan
2018-3-17 03:48:46

@carette Try module load gmp ghc mpc mpfr


carette
2018-3-17 03:49:17

That loads 7.10.1.



rjnw
2018-3-17 03:49:53

so @ccshan we don’t have much data points for jags or rkt for naive bayes full sweeps. We have 10 for rkt and 3 for jags


ccshan
2018-3-17 03:50:24

Well the beauty is you can compute std err with whatever you have


rjnw
2018-3-17 03:50:40

I pushed that


rjnw
2018-3-17 03:51:14

I am just saying due to small number of points our stderr is 0.0001 and less


rjnw
2018-3-17 03:51:25

*0.001 or less


ccshan
2018-3-17 03:52:42

I don’t understand, if you have a small number of points then you should have bigger stderr because stderr is dividing by sqrt(n)


carette
2018-3-17 03:53:03

That still only gets me 7.10. The paper says we use 8.0.2 (which is actually kind of old too).


rjnw
2018-3-17 03:53:24

well the values are almost identical


ccshan
2018-3-17 03:53:27

@carette If you really want 8.* then you can build your own


carette
2018-3-17 03:54:05

The point is to be able to help you guys in a timely manner, to produce reliable data.


rjnw
2018-3-17 03:54:34

If @carette is also running on karst then there is no difference right?


ccshan
2018-3-17 03:54:35

@rjnw Great but I don’t understand “our stderr is 0.001 or less” — your stderr is a number you know for sure, not a number you are trying to infer or predict.


rjnw
2018-3-17 03:54:52

0.001 or less for all the 5 rows


ccshan
2018-3-17 03:54:55

@carette Great so thanks for doing your best with that.


carette
2018-3-17 03:55:09

@rjnw it depends on what Haskell you use on karst!


carette
2018-3-17 03:55:20

If you do ghc --version, what do you get?


ccshan
2018-3-17 03:55:20

@rjnw Ok but why blame the small number of data points for how small the stderr is? If you run more data points, the stderr will probably get even smaller, no?


rjnw
2018-3-17 03:55:48

I don’t know sometimes you can get lucky with small numbers, specially if that number is 3


ccshan
2018-3-17 03:55:50

@carette @rjnw If you use hk-maple on your local machine and have it ssh to karst then ghc on karst doesn’t matter because karst is only used for its maple installation


rjnw
2018-3-17 03:56:04

yes I do what @ccshan mentioned


ccshan
2018-3-17 03:56:29

@rjnw Well, the stderr is valid as long as you don’t keep running the same experiments hoping to get lucky.


rjnw
2018-3-17 03:57:50

I am fine with having really small stderr


rjnw
2018-3-17 03:58:01

just saying that they are really small


rjnw
2018-3-17 03:59:35

going back to getting startup time, what should I do?


carette
2018-3-17 04:00:02

Ok, I got that working, I think. At least ClinicalTrial takes 13s instead of 11s, so it seems it is indeed ‘calling out’.


rjnw
2018-3-17 04:00:51

I will just do it with karst ssh then?


samth
2018-3-17 04:01:39

for fig 14, shouldn’t the caption say something about NB?


ccshan
2018-3-17 04:01:47

@rjnw Is it easy for you to (pull then) add the number of trials to the NB table(s)?


samth
2018-3-17 04:01:56

and will the timing table become a figure?


ccshan
2018-3-17 04:01:57

@samth Yes and there’s a lot more to fix…


ccshan
2018-3-17 04:01:58


ccshan
2018-3-17 04:02:13

But the data is basically there so I’m hapy


samth
2018-3-17 04:02:22

ok good


ccshan
2018-3-17 04:02:58

Look we’re >10x faster than JAGS and 9x as fast as Mallet on NB


samth
2018-3-17 04:03:16

I think I have to call it, but we seem to be in good shape to get over the line


ccshan
2018-3-17 04:03:21

Yeah


ccshan
2018-3-17 04:03:42

If nobody’s blocking on me then I think it might be time for the obligatory Steak and Shake run on deadline night


ccshan
2018-3-17 04:03:48

(That’s why we didn’t get in last time)


carette
2018-3-17 04:05:02

So what exactly are you expecting from me? I believe I am trying to get the time to get disintegrate+simplify+summary for GmmGibbs on karst.


carette
2018-3-17 04:05:21

Is that right?


rjnw
2018-3-17 04:05:41

Are you running haskell on karst as well?


carette
2018-3-17 04:05:51

No, on my machine.


rjnw
2018-3-17 04:06:13

well then that’s no different than what I have!


rjnw
2018-3-17 04:06:42

If we are okay with that, I can do it on the same machine as every other benchmark


rjnw
2018-3-17 04:06:51

except simplification on karst


carette
2018-3-17 04:06:57

I am fine with that!!


ccshan
2018-3-17 04:07:07

The big picture is we’re trying to measure time from knowing the GMM model to starting to compute with numbers. For JAGS that number is “whopping 250 seconds” so what’s ours?


rjnw
2018-3-17 04:07:22

8minutes


carette
2018-3-17 04:07:44

Then perhaps we should tone down that ‘whopping’ just a tad.


samth
2018-3-17 04:08:01

I think we need to be more clear about startup time


samth
2018-3-17 04:08:15

because right now we are very breif about it


ccshan
2018-3-17 04:08:29

I might remove “whopping” but note that the JAGS time is per-data (and increases with data sizee) whereas our time is per-model.


carette
2018-3-17 04:08:29

Though ours is still a ‘compile’ step while theirs is runtime.


samth
2018-3-17 04:08:30

I drew a picture a while back that I posted


samth
2018-3-17 04:08:56

I don’t know if we can include a graphic like that, but we should clarify those things


samth
2018-3-17 04:09:22

our models have a multi-minute compile step, and then a few second startup time


ccshan
2018-3-17 04:09:24

I offer to revise Section 6. I just want the numbers.


samth
2018-3-17 04:09:45

in both cases, the times are independent of the data


ccshan
2018-3-17 04:10:02

I mean if someone else wants to revise Sectino 6 that’s fine, but I think it needs a rewrite and nobody seems to be doing that


carette
2018-3-17 04:10:08

I’m running it now with a time limit of 10 minutes.


samth
2018-3-17 04:10:14

for JAGS, the compile time is 0 but the startup time is multi-minute and scales with data size


ccshan
2018-3-17 04:10:17

@samth What do you mean by “both cases”?


samth
2018-3-17 04:10:32

both the compile step and startup time


ccshan
2018-3-17 04:10:40

I see


carette
2018-3-17 04:10:42

I am massively fading now. A rewrite from me would worsen things considerably.


rjnw
2018-3-17 04:11:35

I will run the hk-maple a couple of times and get the startup time in terms of mean and stderr


samth
2018-3-17 04:11:38

also I belive the JAGS startup time for NB was even worse


rjnw
2018-3-17 04:11:54

2500seconds


rjnw
2018-3-17 04:11:57

I think


rjnw
2018-3-17 04:12:32

~21–22k seconds


rjnw
2018-3-17 04:13:37

I will have concrete values of startup times in a few minutes


ccshan
2018-3-17 04:14:12

“a few” meaning 41 minutes? :thinking_face:


rjnw
2018-3-17 04:15:13

well it takes around 8 minutes for one gmmgibbs startup


rjnw
2018-3-17 04:15:23

I already have jags


carette
2018-3-17 04:20:59

8 minutes is good… as my run on karst just succeeded, in 9m51s.


carette
2018-3-17 04:21:31

Beautiful result, if a little bit slow to get. One-time cost though. [Except for people like us who do testing.]


carette
2018-3-17 04:23:00

Anyways, I have to call myself done. I can’t do any more productive work tonight. But the paper is in excellent shape!


rjnw
2018-3-17 04:23:08

with karst there is a lot of variation


rjnw
2018-3-17 04:23:17

just now I also got 9m11s


ccshan
2018-3-17 04:23:25

~ std err ~


ccshan
2018-3-17 04:23:34

good night jacques


carette
2018-3-17 04:23:45

good night.


ccshan
2018-3-17 04:29:12

So @rjnw you’re going to put what you know about startup times in the manuscript, right?


rjnw
2018-3-17 04:30:19

yes


rjnw
2018-3-17 04:53:56

I added the raw startup timings


rjnw
2018-3-17 04:54:11

what kind of figure should we do?


rjnw
2018-3-17 04:54:28

I have three things time for simplify, llvm-startup, jags-startup


ccshan
2018-3-17 05:01:28

First of all, 32776 seconds is 9 hours! Are you missing a division?


rjnw
2018-3-17 05:02:52

oops


ccshan
2018-3-17 05:03:20

So I understand that the “jags-startup” time is per data, and “simplify” is our per-model time, and “llvm-startup” is our per-data time. Right?


rjnw
2018-3-17 05:03:27

yes


ccshan
2018-3-17 05:03:51

Ok so I guess you’re about to change the numbers?


rjnw
2018-3-17 05:04:39

yes I am doing that now


ccshan
2018-3-17 05:04:57

I’m thinking that a table might be best because these numbers are hard to compare. Basically we’re saying if you run the same model 3 times on different data then we’re faster at startup


ccshan
2018-3-17 05:06:46

And remind me, this is Gmm or NB/


ccshan
2018-3-17 05:06:47

?


rjnw
2018-3-17 05:06:56

Gmm


rjnw
2018-3-17 05:07:30

and also we are not fast enough to cover 300s when actually running it


ccshan
2018-3-17 05:07:45

I don’t understand that. What does “cover” mean??


rjnw
2018-3-17 05:08:26

umm I don’t know what word to use. we do 100 sweeps in ~30seconds and jags does in ~70s


rjnw
2018-3-17 05:08:46

if this difference was greater than 300s then we could say overall we are faster, but it is not


ccshan
2018-3-17 05:09:38

300s is the difference between 545s and 222s. I see.


ccshan
2018-3-17 05:10:16

But again, our 545s is per model and their 222s is per data (and grows with data size). I’ll write about this.


ccshan
2018-3-17 05:10:22

Did you say you have startup timings for NB?


rjnw
2018-3-17 05:11:21

only for jags


rjnw
2018-3-17 05:11:41

let me run hk-maple once to get an approximate value


ccshan
2018-3-17 05:12:09

Ok I understand it’s going to be like jags 40 minutes, hakaru 10 minutes


rjnw
2018-3-17 05:12:33

not really jags 3hrs


ccshan
2018-3-17 05:12:43

Oh ok


ccshan
2018-3-17 05:12:47

And hakaru like 10 minutes right?


rjnw
2018-3-17 05:13:06

it’s running


rjnw
2018-3-17 05:13:13

but should be in same ballpark


ccshan
2018-3-17 05:13:34

as 10 minutes, not 3 hrs, I hope.


rjnw
2018-3-17 05:14:59

jags is even higher


rjnw
2018-3-17 05:15:34

it’s around 22k seconds


ccshan
2018-3-17 05:15:51

That’s 6 hours


rjnw
2018-3-17 05:16:07

yeah


rjnw
2018-3-17 05:16:23

no wonder it’s been running for almost 2 days


ccshan
2018-3-17 05:16:23

That’s higher than Zinkov reported — any guess why?


rjnw
2018-3-17 05:16:39

don’t know, maybe my machine is slower


ccshan
2018-3-17 05:16:39

(it could just be you have a slower machine)


rjnw
2018-3-17 05:16:57

I know mine is slower for single threaded applications


ccshan
2018-3-17 05:17:41

That may be the last number I want. I’m starving so I’m going to eat and read hardcopy.


rjnw
2018-3-17 05:18:15

hmm the first run for NB gave 2minutes


rjnw
2018-3-17 05:18:51

^hk-maple timings


rjnw
2018-3-17 05:20:07

I will make these tables like fig15


ccshan
2018-3-17 05:20:19

I’ve had the experience before where GMM simplifies slower than NB.


rjnw
2018-3-17 05:20:35

yeah second time 2:20minutes


ccshan
2018-3-17 05:20:56

That’s not bad…


rjnw
2018-3-17 05:21:21

yeah, other numbers I need is runtime startup for NB. I think that should be enough right?


ccshan
2018-3-17 05:21:41

I think the table should have two columns for times, one for per-model and one for per-data startup time (and we can just put down 0 as the per-model startup time of JAGS)


ccshan
2018-3-17 05:21:56

Yeah


rjnw
2018-3-17 05:22:03

okay


ccshan
2018-3-17 05:22:11

Yay thanks


rjnw
2018-3-17 05:22:20

after that I might go to sleep I have been up since 5:30am


ccshan
2018-3-17 05:23:21

Yeah, do that.


ccshan
2018-3-17 05:23:48

One question, in Fig 13 you put a mark per 10 sweeps, but of course the sweeps take slightly different times per trial. How do you deal with that?


rjnw
2018-3-17 05:24:39

the time is also mean per sweep


ccshan
2018-3-17 05:25:13

Meaning you put the marks at exactly regular intervals?


ccshan
2018-3-17 05:25:17

Ok


rjnw
2018-3-17 05:25:34

yeah the snapshots are at every 2 sweeps


rjnw
2018-3-17 05:26:01

or maybe 1


ccshan
2018-3-17 05:26:17

But just to make sure I understand, the mark might be placed at a time where no actual sweep finished, right?


rjnw
2018-3-17 05:26:31

yes


ccshan
2018-3-17 05:26:34

Got it, thanks


ccshan
2018-3-17 05:26:39

just curious


rjnw
2018-3-17 05:26:55

it is placed at the mean time for a sweep across all trials


ccshan
2018-3-17 05:27:57

So if for some weird reason the first sweep takes longer than the second sweep in every trial then that would show up


rjnw
2018-3-17 05:30:02

yeah but I didn’t see that in practice


ccshan
2018-3-17 05:52:39

Got it


rjnw
2018-3-17 06:09:36

@ccshan I pushed the changes for making tables for different timings.


ccshan
2018-3-17 06:31:59

Good night!