Using Software in FarmShare
So, you've logged in to FarmShare, and now you want to do something on it? We can help you with that! In addition to the software that we already have available, we have tools for you to build/install your own.
The Three Software Sources
Software on FarmShare comes from three sources:
- Packages, which have all of the software bits in one (or a series of) easy-to-deploy blobs, and which are installed directly on to each system.
- Modules, which either we built ourselves or we obtained from a vendor, and which are sitting on network storage that is accessible by each system.
- Your own stuff, which you have created yourself, and which typically sits in your home directory (which is on network storage), or which sits in some other common location (again, on network storage).
Of course, you probably don't care much about what kind of software we have, you just want to know what we have! Well, that's easy enough: Go to the list of software.
Packages
Packaged software is easiest to use, because you don't have to do anything! Packaged software has already been installed on all of the systems in the environment, so to use the software, you just have to run the command.
For example, to run the packaged version of R (version 3.2.3), you just need to run the R command:
akkornel@rice03:~$ R --version R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree" Copyright (C) 2015 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit)
FarmShare 2 runs Ubuntu 16.04 LTS, which means almost anything in the Ubuntu Xenial package repository is available to be installed.
Modules
Not all software comes in the form of an Ubuntu package. In fact, as time continues to move forward, the software we do have packaged will become more and more out-of-date.
To provide up-to-date software, we use modules. Modularized software lives in shared, network-connected storage, and was either built by SRCC (like with R) or was provided a software vendor (like with SAS).
Your Own Software
In addition to the software that we provide for you to use, it is perfectly OK for to build and use your own stuff! We support several ways that you can build random software:
- Building software from scratch.
- Using a local package manager, like Linuxbrew or Spack.
- We also support Singularity containers.
In addition, we have solutions for specific programming languages:
- For Perl, we have local::lib and Perlbrew.
- For Python, we have virtualenv and conda.
- For Lua, there's
luarocks
.
Can You Do It For Me?
Maybe! Here are the things to think about when deciding if your software should be a module:
- How many people are using it? If it's just you, then it probably doesn't need to be made available to everyone. However, if this is something that is going to be used for an entirely group or class, then it's more likely to be made available.
- Is there an existing package? If there is an existing package repository for Xenial (that is, Ubuntu 16.04), that's much more likely to get accepted.
- How much information do you have? If you have an existing, easy-to-follow step-by-step guide for us, that makes things go faster, so it's more likely that your installation request will be accepted!
Either way, you should always feel free to reach out with your request!
A special note on upgrading: We at SRCC have to be careful when upgrading existing software, because we don't want to break existing uses of the software. Also, if the upgrade is for a package, then we will probably have to wait for the next quarterly FarmShare downtime. Modules can normally be upgraded faster, by making a new module for the new version.
Software Available
The table below lists all of the software packages that are installed on FarmShare systems. It was last updated on Thursday, January 25, 2018 @ 9:30 AM US/Pacific time.
For software provided via a module, you will have to load the module before you can use the software! Run module avail
to display a list of available software. For example, to load MATLAB R2016b, the command would be module load matlab/r2016b
). Enter that command into a shell (or into a batch job script) before you use the software.
Name | Packaged Version | Module Version |
---|---|---|
ABINIT | 7.8.2 | 8.4.2 (abinit/8.4.2 ) |
Anaconda |
5.0.1 for Python 2 ( 5.0.1 for Python 3 ( |
|
ANSYS | 18.2 (ansys/18.2 ) |
|
autoconf | 2.69 | |
automake | 1.15.1 | |
bash | 4.3.48 (1) | |
bowtie | 2.2.6 | |
Caffe | 1.0.0 RC5 (caffe/1.0.0-rc5 ) |
|
Caffe2 | 0.7.0 (caffe2/0.7.0 ) |
|
clang | 3.8.0 | 5.0.0 (clang/5.0.0 ) |
cmake | 3.10.2 | |
CPLEX | 12.7.1 (cplex/12.7.1 ) |
|
CUDA | 9.0.176 | |
cuDNN | 7.0.3 (cudnn/7.0.3 ) |
|
Cufflinks | 2.2.1 (cufflinks/2.2.1 ) |
|
Emacs | 25.3.1 | |
fish | 2.2.0 | |
GAMS | 24.8.3 (gams/24.8.3 ) |
|
Gaussian |
G16.A03 ( GaussView 6 ( |
|
GNU Fortran | 5.5.0 | 7.1.0 (gcc/7.1.0 ) |
GCC | 5.5.0 | 7.1.0 (gcc/7.1.0 ) |
git | 2.7.4 | |
Go | 1.6.2 | |
Gurobi | 7.0.2 (gurobi/7.0.2 ) |
|
Haskell |
7.10.3 stack 1.5.1 |
|
Intel Parallel Studio XE |
2017 update 2 ( |
|
Java | 8u151 | 9+181 (openjdk/9+181 ) |
Julia | 0.5.2 | 0.6.2 (julia/0.6.2 ) |
libtool | 2.4.6 | |
Lua |
5.1.5 (through the 5.2.4 (through the 5.3.1 (through the LuaRocks 2.2.0 for Lua 5.1 |
LuaRocks 2.4.1 ( For Lua 5.1 (through the For Lua 5.2 (through the For Lua 5.3 (through the |
LuaJIT | 2.0.5 | |
Mathematica | 11.2 (mathematica/11.2 ) |
|
MATLAB | R2017b (matlab/r2017b ) |
|
MEEP | 1.3 | |
mksh | 52c | |
mosh | 1.3.2 | |
nano | 2.5.3 | |
NAG | 6.1 (nag/6.1 ) |
|
OCaml |
4.02.3 OPAM 1.2.2 |
|
OpenFOAM |
4.1 ParaView 5.0.1 |
|
Open MPI | 1.10.2 | 3.0.0 (openmpi/3.0.0 ) |
Perl |
5.22.1 (through the Rakudo Perl 6 2015.11 (through the Perlbrew 0.74 |
|
PGI | Community Edition 17.4 (pgi/17.4 ) |
|
PostgreSQL |
9.5.6 ( PG-Strom v1 |
|
PyMOL | 1.7.2.1 | |
Python |
2.7.12 (through the 3.5.2 (through the virtualenv 15.1.0 |
|
Quantum ESPRESSO | 5.1 | |
R | 3.4.3 | |
RStudio | 1.1.383 (rstudio/1.10.383 ) |
|
Ruby | 2.3.1p112 | |
Rust |
1.7.0 cargo 0.8.0 |
|
SAS | 9.4 (sas/9.4 ) |
|
SCons | 2.4.1 | |
Singularity | 2.4.1 | |
Stata | 15 (stata-se/15 , stata-mp/15 ) |
|
Swift | 4.0 (swift/4.0 ) |
|
Tcl/Tk | 8.6 | |
tcsh | 6.18.01 | |
tmux | 2.1 | |
Torch | 7 (torch/7 ) |
|
vim | 7.4 | |
zsh | 5.1.1 |