Software

From FarmShare

(Difference between revisions)
Jump to: navigation, search
(tracker)
 
(55 intermediate revisions not shown)
Line 1: Line 1:
-
There is a lot of software available on the FarmShare systems.  The systems run Ubuntu, so a lot of [[Packages | Ubuntu packages]] are installed.
+
==Packaged Software==
-
There is also some licensed software installed.
+
FarmShare systems run Ubuntu, and most software is installed using [[Packaged Software | packages]] available from the standard Ubuntu repositories. Select external repositories are used to provide more frequently updated versions of very commonly used software (''e.g.'', [[R]]).
-
Don't use /usr/pubsw, we're trying to retire all of that tree.
+
==Commercial Software==
-
Maybe use /usr/sweet/bin, though we're trying to move those.
+
A selection of commercial software is also available, but '''please note''' that this software is licensed for use on FarmShare ''only'' in coursework, and ''not'' for research. Licensed software is made available using environment modules, and can be accessed using the <code>module</code> command.
-
==modules==
+
==Software Modules==
-
We use 'modules', a commonly used software package in HPC environments: http://modules.sourceforge.net/
+
-
Try something like this at the end of your .bashrc:
+
Software not installed from packages is managed using [https://lmod.readthedocs.io/en/latest/010_user.html Lmod] environment modules. Use the <code>module avail</code> and <code>module spider</code> commands to list available software, and <code>module load</code> to load desired modules. You can unload modules and restore a previous environment using the <code>module unload</code> and <code>module purge</code> commands.
-
<pre>
+
-
HOSTNAME=$(hostname)
+
-
if [ "${HOSTNAME:0:4}" = "corn" ]; then
+
-
  #source farmshare modules
+
-
  echo "on a corn! try module avail"
+
-
  source /mnt/glusterfs/software/free/modules/tcl/init/bash
+
-
fi
+
-
</pre>
+
-
==tracker==
+
===An Example: Using MATLAB===
-
We use 'tracker', a Stanford-specific software, to track how many users use which software: http://www.eyrie.org/~eagle/software/tracker/
+
 
 +
<source lang="sh">
 +
which matlab
 +
module avail
 +
module spider matlab
 +
module load matlab
 +
module list
 +
which matlab
 +
matlab
 +
module unload matlab
 +
which matlab
 +
</source>
 +
 
 +
== User-installed Software ==
 +
 
 +
New or updated software can often be built and/or installed by users in their own home directories, and local package managers like [http://linuxbrew.sh Linuxbrew] and [https://spack.io Spack] can help. Local package managers are also available for many programming languages (e.g., [https://pip.pypa.io <code>pip</code>], [https://virtualenv.pypa.io <code>virtualenv</code>], and [https://conda.io Conda] for [https://www.python.org Python], <code>local::lib</code> and [https://perlbrew.pl Perlbrew] for [https://www.perl.org Perl], and [https://luarocks.org Luarocks] for [https://www.lua.org Lua]), and some of these provide tools for managing entire local programming environments.
 +
 
 +
== Containers ==
 +
 
 +
[http://singularity.lbl.gov Singularity] containers are supported, but bootstrapping an image requires <code>root</code> access, so you'll need to create your containers elsewhere and copy them to FarmShare to run.

Latest revision as of 09:39, 4 September 2018

Contents

Packaged Software

FarmShare systems run Ubuntu, and most software is installed using packages available from the standard Ubuntu repositories. Select external repositories are used to provide more frequently updated versions of very commonly used software (e.g., R).

Commercial Software

A selection of commercial software is also available, but please note that this software is licensed for use on FarmShare only in coursework, and not for research. Licensed software is made available using environment modules, and can be accessed using the module command.

Software Modules

Software not installed from packages is managed using Lmod environment modules. Use the module avail and module spider commands to list available software, and module load to load desired modules. You can unload modules and restore a previous environment using the module unload and module purge commands.

An Example: Using MATLAB

which matlab
module avail
module spider matlab
module load matlab
module list
which matlab
matlab
module unload matlab
which matlab

User-installed Software

New or updated software can often be built and/or installed by users in their own home directories, and local package managers like Linuxbrew and Spack can help. Local package managers are also available for many programming languages (e.g., pip, virtualenv, and Conda for Python, local::lib and Perlbrew for Perl, and Luarocks for Lua), and some of these provide tools for managing entire local programming environments.

Containers

Singularity containers are supported, but bootstrapping an image requires root access, so you'll need to create your containers elsewhere and copy them to FarmShare to run.

Personal tools
Toolbox
LANGUAGES