User Documentation

Skip to end of metadata
Go to start of metadata

Common Open Source High Productivity Languages

High productivity languages have recently become an important part of scientific computing and visualization. Leading high productivity languages include the commercially available MATLAB, open source Python (with its scientific computing add-ons) and open source Octave. Each of these high productivity languages forms an integral part of a standard library that includes text processing, file I/O, data compression, and a host of capabilities ranging from basic numerical linear algebra to complex data visualization.

BC Policy: LS2_10-02
Date of Policy: 1st November 2011
First Update: 15th July 2011
Second Update: 22nd September 2011

The main objective of this policy is to provide the following common open source high productivity languages environment across all LinkSCEEM-2 resources:

Package/Tool Description Compliance level Reference
Python General Purpose Scripting Language MUST http://python.org/
NumPy Numerical Arrays and Linear Algebra in Python MUST http://numpy.scipy.org/
PyMPI Python Message Passing Interface MUST http://pympi.sourceforge.net/
SciPy Scientific Python MUST http://www.scipy.org/
Octave MATLAB Clone MUST http://www.gnu.org/software/octave/
Matplotlib Scientific 2-D and 3-D Plotting SHOULD http://matplotlib.sourceforge.net/
NAG Numerical library /Numerical Algorithms Group SHOULD http://www.nag.co.uk/
R R language SHOULD http://www.r-project.org/

These high productivity languages environment will be supplemented with other open source productivity languages as they become available on allocated systems.

There are two key sources which MAY be used to provide support to the scripting language Python and its scientific add-ons NumPy, PyMPI and SciPy. These are:
  1. Computational Science Environment (CSE). The CSE is an integrated production level environment developed at ARL DSRC. CSE consists of open source tools, libraries as well as Python support (Python, NumPy, SciPy and PyMPI). All CSE components are assembled in an extensible framework that handles software dependencies at compile and runtime.
  2. Parallel Tools Runtime Environment (PToolsRTE). The PToolsRTE is a collection of Python, NumPy, PyMPI, SciPy and related packages, including Matplotlib, developed by ParaTools, Inc. PToolsRTE provides a hybrid binary and source distribution where a majority of the components are pre-packaged in a binary form and a minimal number of platform and compiler specific components are built on the target system. This simplifies the complexity of software installation and the runtime environment can be easily installed on external systems to provide a consistent Python based environment for developing and deploying scientific packages that rely on a common runtime environment.

Both the CSE and PToolsRTE MAY be made available on HPC systems. The CSE package is being maintained by the ARL CSE Team, while the PToolsRTE is being maintained through PETTT.

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.