-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
Running julia from multiple machines sharing the same home folder #13684
Comments
Best to manually call |
Seems like a messy solution. Can precompilation happen in memory? So that I launch all processes without waiting? (Might be a big problem especially when trying to launch multiple small julia programs.) Can one precompile the packages for a very general cpu architecture so that is compatible with all machines? |
precompilation in memory was how it used to work, and you can patch the packages you're using to turn Alternately you can tell each worker to write to a separate local location, using independent copies of the package directory. Is this causing a real error, or a theoretical concern? |
It is a real concern but not real error yet. I am trying some toy examples before scaling things up. Also, is there a way to precompile for a common cpu architecture (for example pentium 4 arch) which is common across all machines? Thanks for all the quick replies and help! |
You can start julia with |
You could use a different push!(Base.LOAD_CACHE_PATH, joinpath(Base.LOAD_CACHE_PATH[1], gethostname())) (Though you might want to use a local, non-network path instead.) That way, the different machines won't share a cache. |
I have the same issue (on my university computers). unshift!(Base.LOAD_CACHE_PATH, joinpath(Base.LOAD_CACHE_PATH[1], gethostname())) |
Right, sorry; you need the new path to be first, via |
It seems like it might be reasonable to include |
+1 |
+1 for default cache path |
What about packages written in C using Pkg.build() . The builds can be machine specific |
In case there are many machines, but only a few CPU types are relevant (e.g., E5645 E5-2630 E5-2640, plus a few more that are equivalent to these three), it should help to reduce duplication by creating a few subdirs such as: cd ~/.julia/lib/v0.4 and then in .juliarc check for the CPU (e.g., if listed in /proc/cpuinfo): if VERSION >= v"0.4" PS - Just to be complete, job submission may require a corresponding executable for julia, which would point to versions compiled on the different machine types and should be a script higher in the PATH than any other "julia", of course: #!/usr/bin/tcsh if ( |
This problem often comes up on compute clusters -- at the moment the only way I can run julia array jobs is using the |
Should be fixed by #36416. |
Hi all,
I am trying to run julia from multiple machines (bash launches multiple julia instances from various machines) and all share the same home dir.
The issue is that each machine recompiles the stale cache. (All are share the same package dir). Is this an issue? Is this a known issue? Is there a solution?
Thanks
The text was updated successfully, but these errors were encountered: