Development Tools

Development Tools

Quick Links

Contact & Support
For support for any of our services or for general advice and consultancy, email:
rc-support@ucl.ac.uk


Development tools available

The default set of development tools available on the RC Systems software stack is the following:

Name Description Version Useful links Notes
Bison Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables. 3.0.4 Bison web page Use:

module load bison/3.0.4/gnu-4.9.2

cmake multi-platform make utility 3.2.1 cmake home page
NVIDIA CUDA toolkit CUDA compilers and libraries Documentation and development resources This is primarily to support the experimental GPU setup - please see the Legion overview and job script examples for more information. Access it via module:

module load cuda/7.5.18/gnu-4.9.2

Emacs Text editor 24.5 Emacs home Use:

module load giflib
module load emacs/24.5

flex A Fast Lexical Analyzer. 2.5.39 flex web page Use:

module load flex/2.5.39

GCC GNU Compiler Collection 4.9.2 GCC documentation on GNU website. Includes C (gcc), C++ (g++) and Fortran 95 (gfortran) compilers.
GHC/Haskell Platform Glasgow Haskell Compiler and commonly used libraries. Version 7.8.3 of GHC, version 2014.2.0.0 of Haskell platform Blog post on installing GHC 7.6.3 on SL 5.x You will need to load:

haskellplatform/2014.2.0.0

If you wish to use cabal to install packages, you will need to:

mkdir ~/Scratch/.cabal
ln -s ~/Scratch/.cabal ~/.cabal
cabal update

git Version control system 2.3.5 Git home Loaded by default, or use:

module load git/2.3.5

gperf GNU gperf is a perfect hash function generator. 3.0.4 gperf home Use:

module load gperf/3.0.4/gnu-4.9.2

guile Guile is the GNU Ubiquitous Intelligent Language for Extensions, the official extension language for the GNU operating system. 2.0.11 guile home Use:

module load libbdwgc/7.4.2
module load guile/2.0.11/gnu-4.9.2

htop An interactive process viewer for Linux. 1.0.3 htop home Use:

module load htop/1.0.3/gnu-4.9.2

Intel C++ Compiler 2015 update 2, 2016.0.109

2017 update 1, 17.0.1.132

Intel C++ User and Reference Guide on Intel website. For 2017 update 1 use:

module unload compilers mpi
module load compilers/intel/2017/update1
module load mpi/intel/2017/update1/intel

Intel Fortran Compiler 2015 update 2, 2016.0.109

2017 update 1, 17.0.1.132

Intel C++ User and Reference Guide on Intel website.
Java JDK and JRE 64 bit version of the Java development kit and runtime environment 1.6 Update 20 and 1.6 Update 32.
1.7 Update 45.
Java Documentation web site (hosted by Oracle) 1.7.0_85 is the default version. To use 1.8.0_45 you need to load the following module:

module load java/1.8.0_45

Julia Julia is a programming language. 0.3.10, 0.4.0 Julia home Use:

module load julia/0.4.0

libtool GNU libtool is a generic library support script. 2.4.6 libtool home Use:

module load libtool/2.4.6

ltrace Library call tracer 0.7.3 ltrace home Use:

module load libelf
module load ltrace/0.7.3/gnu-4.9.2

Lua Embeddable scripting language. 5.3.1 Lua home Use:

module load lua/5.3.1

mc - Midnight Commander Visual file manager 4.8.14 mc home Use:

module load mc/4.8.14

Mono Open source implementation of Microsoft's .NET Framework 3.12.1 Mono home Use:

module load mono/3.12.1

Intel MPI Thread-safe MPI 2 implementation 2015 update 3

2017 update 1

This is the default MPI implementation on Legion. There is a module for Intel MPI for the Intel compilers and one for GCC. For 2017 update 1 use:

module unload mpi
module load mpi/intel/2017/update1/intel

for Intel compilers or

module load mpi/intel/2017/update1/gnu-4.9.2

for GNU compilers.

OpenMPI MPI-2 implementation OpenMPI 1.8.4 OpenMPI home page To use this MPI implementation instead of Intel MPI do the following:

module unload mpi

to remove the default MPI module and then:

module load mpi/openmpi/1.8.4/intel-2015-update2

if you are using the Intel compilers or:

module load mpi/openmpi/1.8.4/gnu-4.9.2

if you are using GCC.

NAG Fortran compiler Fortran compiler by NAG. 6.0 (1044) NAG Fortran Compiler Documentation
Nano Text editor 2.4.2 Nano home Loaded by default, or use:

module load nano/2.4.2

NCL NCAR Command Language 6.0.0, 6.3.0 NCL home Use:

module load hdf/5-1.8.15/gnu-4.9.2
module load netcdf/4.3.3.1/gnu-4.9.2
module load udunits/2.2.19
module load szip/2.1
module load ncl/6.3.0

NEdit GUI text editor 5.6-Aug15 NEdit home Loaded by default, or use:

module load nedit/5.6-aug15

Perl System perl is 5.16.3. 5.16.3, 5.22.0 Perl home Use:

module load perl/5.22.0

Perlbrew Perl installation management - can use to install your own. 0.73 Perlbrew home Use:

module load perlbrew/0.73

PGI compiler suite The Portland Group PGI Fortran C/C++ compilers and tools. 2012.10, 2015.4, 2015.7 PGI documentation on the Portland Group web site. PGI compilers have been provided primarily to build Gaussian. To use these instead of the GCC or Intel suites do the following:

module load compilers/pgi/2015.7

Python Scripting language 2.7.9, 3.4.3 The Pythons have bundled software that was built for them - access by loading

module load python2/recommended

or

module load python3/recommended

Qt Cross-platform development tool 4.8.6, 5.4.2 Qt home Use:

module load qt/4.8.6/gnu-4.9.2

or

module unload compilers mpi
module load compilers/gnu/4.9.2
module load bison/3.0.4/gnu-4.9.2
module load gperf/3.0.4/gnu-4.9.2
module load qt/5.4.2/gnu-4.9.2

Rappture Toolkit supporting Rapid application infrastructure 20130903 Rappture wiki Use:

module load rappture/20130903

Ruby Programming language. 2.2.2 Ruby home Use:

module load ruby/2.2.2

SCons Software build system 2.3.4 SCons home Use:

module load python/2.7.9
module load scons/2.3.4

Subversion Version control system 1.8.13 Subversion home Use:

module load apr/1.5.2
module load subversion/1.8.13

SWIG Simplified Wrapper and Interface Generator 3.0.5, 3.0.7 SWIG home Use:

module unload compilers
module load compilers/gnu/4.9.2
module load swig/3.0.7/gnu-4.9.2

Valgrind Valgrind is a system for debugging and profiling Linux programs. 3.11.0 Valgrind Documentation

Valgrind on Legion

X-org utils util-macros-1.17, makedepend-1.0.5, libXdmcp-1.1.1, libXScrnSaver-1.2.2 X11 R7.7 X.org Use:

module load xorg-utils/X11R7.7

There are a number of text editors available including Vim (Vi enhanced), GNU Emacs, NEdit. All include some support for program development like syntax highlighting etc.

back to top

Developer tools being tested (experimental)

Some of these packages are not publicly available yet, but we are seeking users to test them. Others are available under the "experimental-modules" module bundle.

If an package is not available as an experimental module, please contact rc-support@ucl.ac.uk for instructions on how to test it.

Name Description Issues you may encounter
Intel Vtune Vtune is a tool that lets you measure and diagnose performance problems with your code. Currently the hardware counter kernel module is not installed on any of the nodes on Legion.

back to top