-
Notifications
You must be signed in to change notification settings - Fork 18
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
Add support for creating sysimages for Julia tools #1225
Comments
Re spine-tools/Spine-Toolbox#1225 This is basically so we can set the sysimage for the kernel.
Re #1225 This is mainly so Tool items can create mini engine workers to run jobs related to creating Julia sysimages.
Re spine-tools/Spine-Toolbox#1225 The sysimage is created through a new small new widget that's embedded in the properties UI, whenever the user switches to a spec of Julia type. The idea is to extend this concept with the other tool types as needed, and the code is made for that. The location of the julia sysimage is added to the Tool item's dictionary and so it ends up in the project file. Before using the image, the tool verifies that the file exist to avoid eventual portability problems.
Re spine-tools/Spine-Toolbox#1225 - Tool's ExecutableItem now takes an extra argument `options`. - ToolInstance now creates the execution manager during `prepare()`.
Re #1225 SpineEngineWorker does not need the 'toolbox' argument anymore. It has been replaced by the engine server address, as toolbox was only used for that.
Re spine-tools/Spine-Toolbox#1225 This is more in line with our approach of sharing widgets across project items of the same kind. Might have a positive impact on memory footprint when the hypothetical user decides they want to create dozens of tools in their project.
This should be done. We have the sysimage option in Julia Tool Properties. Please reopen if I missed something. |
I'm pretty sure this is broken at the moment and also, PackageCompiler.jl has become smarter since when we tried and implement this so the process should be simpler. |
@manuelma I could give this a try if you don't mind. |
Thank you @soininen that would be great. Please let me know if you need any help trying to understand what's already in place. |
We now store job id into SpineEngineWorker instead of SpineToolboxProject. This allows other components to create project-independent engine workers e.g. when creating Julia sysimages. Re #1225
Creating new Julia sysimages was temporarily disabled because it wasn't working. This restores the functionality. - Remove the early return from _create_sysimage() to enable the creation. - Fix missing job id when creating Spine Engine Worker. There's a corresponding Toolbox side fix as well - Fix Windows paths embedded in Julia code: we must escape '\' in Julia's strings. - Don't supply Julia with the --project keyword if we don't have a project (the project is actually @.). There's a corresponding Engine side fix as well. - Code beautification. Re spine-tools/Spine-Toolbox#1225
Sysimages are great for speeding up julia tools which I think can help with new users. Details are here
This will supersede the second task of #1217.
The text was updated successfully, but these errors were encountered: