Running Specific Apps and Versions on the HPC

We all use various applications and versions of those applications in our work and research, so it’s going to be impossible to have a 1-size-fits-all approach to this problem. Luckily, our HPC cluster already has a built-in way for you to run any executable you’d like. In this blog entry, we’ll go over how you can download and run a specific version of a specific application thats not listed in the submit command’s available apps.

For this example, we’re going to be installing a specific version of Julia. While Julia is installed and listed as an available App, the Ubuntu repository doesn’t have the latest and greatest available. I’m going to go out to julialang.org and get the latest linux (x64) executable and use that for my research. You can either download it on your Mac and SFTP it over, or download it directly on the HPC and uncompress it:

wget https://julialang-s3.julialang.org/bin/linux/x64/1.0/julia-1.0.2-linux-x86_64.tar.gz
tar xvf julia-1.0.2-linux-x86_64.tar.gz

 

Now we have the julia-1.0.2 folder in our home directory. Inside, we can see there is a bin folder with the julia executable. This is the file we want to run. Take note of the location of that executable, for me in this example it is: ~/julia-1.0.2/bin/julia or /mnt/HpcStor/home/kjmain/julia-1.0.2/bin/julia

Either ~ or /mnt/HpcStor/home/unityID works fine, normally it’s easier to use the ~ alias.

We can make sure that its functioning OK but executing it with a version check:

~/julia-1.0.2/bin/julia -v

And we see it’s running 1.0.2. Great! Now, how do we submit it to the cluster to actually use it? The exec option of submit and submit_multi.

We can passthrough compiled, executable code straight as an execution line for the HPC to run:

submit exec ~/julia-1.0.2/bin/julia myCodeFile.j

or

submit_multi 4 exec ~/julia-1.0.2/bin/julia myCodeFile.j

This submits the job to run on the specified executable instead of one of the built in options.

 

 

Leave a Reply