How to update Julia in ssh clusters

I’m working as a PhD student in a lab with ssh clusters, I have the access to connect to each one of them (there’s no queue system, as it is a small lab, hence, as long as someone is not using a lot of cores in each computer I can run my programs on them).

Currently the lab doesn’t have a cluster administrator so its maintenance is in the hands of two researchers with computer knowledge. Currently, the clusters have a very old version of Julia (0.5.1) and I need an update in order to work; however, one of the two researchers in charge told me that it will require a very large amount of time and stopping all current process in order to update Julia, so he is unwilling to make the update on the clusters.

Is there a way that I can update the Julia version on the clusters all by myself? Without interrupting nor canceling any of the current processes?

I believe non of the current processes are being run with Julia, as I am the only one in the lab who works with it. The languages being used for these processes are C, C++ and Fortran.

Yeah. You can just download the new Julia version and put it anywhere in the filesystem.

And how can I do it? I’m sorry, I’m new into using ssh for running computations. I just fear that uploading the julia version in the clusters might stop or interrupt the projects of other people that are currently running in other cluster nodes.

If the cluster has a shared filesystem, you can just wget the appropriate link from Download Julia. Then you can unzip with tar -xzf <PATH_TO_DOWNLOADED_FILE> and you will have a local version of julia that you can use. Julia does not store anything in system directories, and won’t touch data for other versions.

Also if you are not root, you can’t alter any other processes… Basically it’s safe and actually recommended to simply run your own copy of the latest Julia in your own home directory.

Also note that you almost certainly want the x86 glibc version. not sure how new you are to all of this, but just making it easy for you.

Ok, so I unzip my file in the shared filesystem but this just generates a julia-version folder in my cluster files of the cloud. When I still access to one of the nodes (say cluster3) and run the julia command for the terminal I get the version 0.5.1

Rather than running julia you need to run path/to/julia/version whatever that path is.

Ok, but how do I do that in the command line, as my current directory in the terminal is the path where the unzipped “julia-version” folder is, then if I just run julia-version in the command line then it will give me the message of command not found

Then it would be ./julia/bin/julia

Thanks a lot!! now I wanted to send some works to that cluster using this local version of julia, normally I use the command

nohup julia FileName.jl &

how is this translate using the local run?

nohup ./julia/bin/julia FileName.jl &

???

You might need to give it an absolute path, but yeah.

Or add /home/yourname/julia/bin to the front of your PATH environment variable in .bashrc or similar

1 Like