Software

From FarmShare

(Difference between revisions)
Jump to: navigation, search
(modules)
 
(48 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'll be installing new versions of software outside of AFS.
+
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/
+
-
First, you will need to source the module env vars for your shell from /mnt/glusterfs/software/free/modules/tcl/init/
+
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.
-
For example, try something like this at the end of your .bashrc:
+
===An Example: Using MATLAB===
-
<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>
+
-
Then you can do something like:
+
<source lang="sh">
-
<pre>
+
which matlab
module avail
module avail
-
module load stata
+
module spider matlab
-
stata
+
module load matlab
-
</pre>
+
module list
 +
which matlab
 +
matlab
 +
module unload matlab
 +
which matlab
 +
</source>
-
===more complete example===
+
== User-installed Software ==
-
<pre>
+
-
[chekh@corn24.stanford.edu] ~ [0]  
+
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.
-
$ module avail
+
-
------------------------------------------- /mnt/glusterfs/software/free/modules/tcl/modulefiles --------------------------------------------
+
-
MATLAB-R2009b    MATLAB-R2010b    MATLAB-R2011b    StatTransfer-10.1 StatTransfer-11.2 stata-v12       
+
-
------------------------------------------------------------------ Aliases ------------------------------------------------------------------
+
-
----------------------------------------------------------------- Versions ------------------------------------------------------------------
+
-
[chekh@corn24.stanford.edu] ~ [0]
+
== Containers ==
-
$ module load StatTransfer-10.1
+
-
[chekh@corn24.stanford.edu] ~ [0]
+
[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.
-
$ st --version
+
-
Stat/Transfer (c) 1986-2011 Circle Systems, Inc.
+
-
www.stattransfer.com
+
-
Version 10.1.1847.0331 - 64 Bit Linux
+
-
 
+
-
Serial: BUNLM-VEAN7-JMC8
+
-
User: Pat Box (1) - Stanford University
+
-
License Type: Linux - Single Machine Lease
+
-
Warning: Your annual license is in its last month.
+
-
Status: License OK - Expires April 30, 2012
+
-
Stat/Transfer is running in a remote secure shell. A workgroup license covering all users may be required.
+
-
Please contact our sales department (sales@circlesys.com) for more information.
+
-
 
+
-
[chekh@corn24.stanford.edu] ~ [0]
+
-
$ module unload StatTransfer-10.1
+
-
 
+
-
[chekh@corn24.stanford.edu] ~ [0]
+
-
$ module load StatTransfer-11.2
+
-
 
+
-
[chekh@corn24.stanford.edu] ~ [0]
+
-
$ st --version
+
-
Stat/Transfer (c) 1986-2012 Circle Systems, Inc.
+
-
www.stattransfer.com
+
-
Version 11.2.2013.0330 - 64 Bit Linux
+
-
 
+
-
Serial: BOC59-BUAAN-ZCYF
+
-
User: Jane Tansuwan - Stanford University
+
-
License Type: Linux - 50 User Workgroup / Lease
+
-
Status: License OK - Expires April 30, 2013
+
-
 
+
-
[chekh@corn24.stanford.edu] ~ [0]
+
-
$ module help StatTransfer-11.2
+
-
-------------------------------------------------------------------
+
-
Module Specific Help for /mnt/glusterfs/software/free/modules/tcl/modulefiles/StatTransfer-11.2:
+
-
 
+
-
ITS-maintained Stat/Transfer v11.2 (in GlusterFS)
+
-
use st for command-line version
+
-
use stattransfer for X11 GUI version
+
-
-------------------------------------------------------------------
+
-
</pre>
+

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