-
Notifications
You must be signed in to change notification settings - Fork 40
Script to build sys image for AlgebraicJulia service #289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Thanks for getting this started! Are you planning to add the test suites for CombinatorialSpaces and Decapodes to the precompile script, as explained here? https://julialang.github.io/PackageCompiler.jl/dev/sysimages.html#tracing |
|
I've added a |
Also, frontend now uses the default kernel set in the Jupyter server.
| return createKernel(serverOptions, { | ||
| // XXX: Do I have to specify the Julia version? | ||
| name: "julia-1.11", | ||
| //name: "julia-1.11", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A comment on my own code: clearly this isn't ideal, but since in practice the only way to launch a Jupyter server that won't reject the frontend on cross-origin grounds is to run our script, this shouldn't be any less reliable than before, and it has the advantage of not baking the Julia version into the bundled JS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Matt! I've confirmed that I can build the sys image and use it in the frontend.
At least on my machine, the performance benefits seem marginal, unfortunately. Loading the AlgJulia service is noticeably faster, but I can't tell a difference when running the simulation, which is far more time consuming. I haven't done a proper benchmark, though. Would be curious to see what difference others can tell.
Note that, unless you edit the config variables, the jupyter_server.sh uses the standard Julia kernel.
|
I think proper benchmarks are in order (I've created this issue to track it), but the sysimage won't improve simulation speed, just precompilation time. The simulation is generated code, so performance improvements must come from Decapodes itself. |
|
Right, at most it would improve simulation speed on the first simulation, which I didn't observe. |
* wip need to make sure jupyter server starts with sysimage * 9s startup versus 21s startup. adding helper script * added test precompilation statements * removed kernel checking conditional * Delete packages/sysimages/Manifest.toml * CLEANUP: Move sys image scripts to main Julia dir. Also, frontend now uses the default kernel set in the Jupyter server. --------- Co-authored-by: Evan Patterson <[email protected]>
This PR allows users to run a script for building a sysimage and installing it as a kernel. Currently this script builds a sysimage with all AlgebraicJuliaService dependencies, which can be time-consuming on slower machines. (a Thinkpad P15 with an i9 CPU can build this in ~2 minutes).
I need to make sure the Jupyter server chooses the installed kernel.