freenode/#clasp - IRC Chatlog
Search
14:10:41
drmeister
Bike, karlosz: Firefox is much better at rendering those complex svg flame graphs
14:14:29
drmeister
yitzi is rapidly bringing jupyter notebooks/widgets/lab online and we have a really good idea of how we are going to use it to make user interfaces.
14:14:54
drmeister
Bike and karlosz are making great progress in improving the underlying compiler that everything builds on.
14:15:36
drmeister
Bike: What do you think about the setjmp/longjmp idea now that we've had a few days working on it?
14:18:05
Bike
the intrinsics are documented incorrectly and are listed as only being generated by internal llvm passes
14:19:29
drmeister
Build a small test case and then compile it with just the c-preprocessor. Do you know how to do that?
14:24:01
drmeister
Sure - but nobody is going to fundamentally change it or there will be heck to pay.
14:25:28
Bike
the jump buffer type is also defined by the C implementation, which is another wrinkle
14:26:32
Bike
yes, i'm nervous about some random change in glibc causing bizarre hard to reproduce unwinding crashes
14:27:03
drmeister
We can put in a sanity check to make sure that the invariants remain so. Also, keep the code in one place. Then we leave it for the future to deal with.
14:27:46
drmeister
The only other way out of this is to figure out what is going on in the kernels where we see crazy slowdowns and try and get control there.
14:30:32
drmeister
Also - can you set this up so that it's optional? So we can turn it off if we do run into problems?
14:31:35
Bike
for a start i was thinking i'd do a really stupid implementation that calls an intrinsic that uses setjmp. it will be way more inefficient than it should be, but going off my initial test, exceptions are so very terrible that it'll still be a win
14:32:01
Bike
plus it shouldn't implicate thread anything, but who knows, maybe libc will find a way
14:55:22
yitzi
drmeister: no difference between lab and notebook from your widget code perspective. To answer your question from yesterday
14:56:24
yitzi
That image also has lab in it btw. I just set notebook to be the default since the nglview kernel stuff doesn't work with lab yet.
14:56:25
drmeister
So if we develop widgets in jnotebook then we can port them to jlab once nglview works in jlab.
14:57:32
drmeister
Second question: There is a long pause when the accordion widget starts up. Do you see that as well? Have you any experience debugging issues like that?
14:59:02
drmeister
This is why it's good that we have an sbcl kernel as well. We can compare the two for performance.
15:00:55
drmeister
I run docker with this now: docker run -it -p 8888:8888 -p 4005:4005 -v $HOME:/home/app/home yitzchak/cando-clj;nglview
15:04:40
yitzi
Yep. The molecule spins fine, but the jupyter message indicator turns black b.c. the clasp is getting overwhelmed?
15:08:02
yitzi
I haven't done any attempt to look at the speed of the kernel code, mostly because SBCL seemed fine. So it could need some analysis/optimization?
16:20:39
yitzi
drmeister: I think I found the blocking issues in nglview that prevents loading in Lab. If I'm right then we could use lab with nglview now.
16:31:09
yitzi
It means that our code won't be at 2.7.5 so some stuff might break, but the widget appears to load. They added some new traits that Javascript expects to be there.
16:31:57
drmeister
The guys who are developing nglview have occasionally changed the names of functions in the Javascript and that requires changes to the kernel code.
16:33:23
drmeister
That's why it's good to keep track of the python code that we match so we can diff it against the python code that they develop and then we make corresponding changes to our Common Lisp code.
16:34:09
yitzi
I am testing it in docker right now, if it works you will have jupyterlab, nglview, and .................
16:36:12
drmeister
Good job figuring that out by the way. With everything going on I'd forgotten about that.
16:36:51
drmeister
yitzi: We are Amber developers and we have access to the Amber development code. But the Conda one should be ok.
16:37:11
drmeister
There needs to be an environment variable set so that cando knows where Ambertools is.
16:39:21
drmeister
Once yitzi gets this docker image together I think we should integrate his Dockerfile changes into our "deploy" script.
16:39:47
drmeister
yitzi: We have a thing we call the "deploy" script. It builds everything on our fledgeling CI system:
16:41:24
yitzi
drmeister: Keep in mind that I don't know if all of the common-lisp-jupyter, nglview, cando-jupyter works yet. I don't really think it is ready for mass consumption yet. It's getting close, though.