I am trying to run a Julia code on a cluster shell (linux-based). I tried to to generate an .exe or .so file using PackageCompiler.jl to avoid having to install all of the libraries and the packages that are used in the file. However, it didn’t work out. My question is how could I execute my code on the cluster knowing that I don’t have the access to install any additional modules other than (Julia/1.3.1).
Typically clusters have shared disks, so you can install julia somewhere in home directory and make a soft link to a directory that is in your PATH, e.g. ~/bin. The following may help (with follow-ups):
@AhmedAlreweny the shared disk is the way to go here.
May I ask which cluster you are using? Ask your friendly cluster admin what shared filesystems are available to you.
Bring them cookies!
I have found a .Julia/ directory installed in my $HOME (because I installed the packages directly there), I have 2 questions at this point:
- How could I move the Julia dirc to
$DATA
instead of$HOME
? Should I reinstall in again, or could I just usecp
for that? - I don’t see how should I make the soft link? What will be the file and source in that case?
Thanks!
You could use the rsync tool to copy the .Julia irectory to $DATA/Julia
Also please send us the results of the command ‘module avail’
Julia/1.3.1
is the julia version that I get when I run module av
Aha! Well someone on your cluster has created a Modules environment for Julia.
Can you look at that output and find where the module files are stored?
There is a line like this in the output:
------------------------------------------------------------ /usr/share/modulefiles -----
OR tell us what printenv MODULEPATH says
SO please let us know what the module file contains:
cat /usr/share/modulefiles/Julia/1.3.1
Your MODULESPATH will not be /usr/share/modulefiles - but it will be similar to that.
My apology. You have told us in the first post that you have the Julia/1.3.1 module