Development Tools

Software Development Tools

Research Computing provides a number of software development tools, compilers, libraries, debuggers, IDEs, interpreters, etc. on the CIRCE environment. Many of these are accessible via the Environment Modules system.

Compilers

The following compilers are available on CIRCE/SC for C, C++, Fortran, and Java, and represent the latest available stable releases:

Vendor Version C C++ Fortran Java Module
GNU Compiler Collection (GCC) 7.3.0 gcc g++ gfortran gcj compilers/gcc/7.3.0
Intel Compiler Suite 2018 icc icpc ifort n/a compilers/intel/2018_cluster_xe
Portland Group PGI (legacy) 12.10 pgcc pgCC pgf77/pgf90 n/a compilers/pgi/12.10

MPI Libraries

Many numerical codes now have support for compiling and linking against MPI or Message Passing Interface libraries. Research Computing supports the use of the IntelMPI and OpenMPI libraries. Several other MPI versions are available for compatibility purposes, but IntelMPI and OpenMPI receive the best support from our group. Prior to using an MPI library, you will wish to load a module for a compiler suite, as shown in the table above.

Vendor Version Supported Compilers Module
IntelMPI 2017.0.098 Intel compilers/intel/2017_cluster_xe
OpenMPI 2.0.4 GCC. Intel, PGI mpi/openmpi/2.0.4
MVAPICH2 1.8a2 GCC, Intel, PGI mpi/mvapich2/1.6

Stable & Tested Compiler/MPI Version Combinations

Other combinations have been tested and shown to be stable, but these are the combinations we recommend and will be better able to support:

Compiler Module MPI Module
compilers/intel/2015_cluster_xe n/a (IntelMPI is built-in)
compilers/gcc/4.8.1 mpi/openmpi/1.6.1
compilers/pgi/12.10 mpi/openmpi/1.6.1

Numerical Libraries

The following numerical libraries for BLAS, LAPACK, FFTW, GSL, etc. are available and supported on the system:

Name Provides Vendor Version Linker Flags
ACML BLAS/LAPACK AMD 4.4.0 -L/opt/lib/acml/4.4.0/gfortran64/lib -lacml_mv -lacml
-L/opt/lib/acml/4.4.0/gfortran64_mp/lib -lacml_mv -lacml
MKL BLAS/LAPACK/BLACS Intel 12.1.0 -mkl=sequential
SCALAPACK/FFT -mkl=cluster

Scripting Languages and Development Kits

The systems support a number of scripting languages. The table below provides further information. Additional versions may be available for some tools. These can be found using the command 'module avail'.

Shell/Language Version Location or Module
bash 4.1.2 /bin/bash
tcsh 6.17.00 /bin/tcsh
perl 5.10.1 /usr/bin/perl
perl 5.28.0 module: apps/perl/5.28.0
python2 2.7.11 module: apps/python/2.7.11
python3 3.6.2 module: apps/python/3.6.2
anaconda 5.0.0 module: apps/anaconda/5.0.0
ruby 1.8.7 /usr/bin/ruby
Java JDK 1.8.0_121.x86_64 module: apps/jdk/1.8.0_121.x86_64

IDEs

Integrated Development Environments are available via the CIRCE Desktop Environment Applications menu. The following are installed:

Name Version
Eclipse Ganymede
Netbeans 6.5

Debugging and Profiling

Numerous debuggers and profiling tools are installed. Please consult the documentation for your selected compiler for more information.

Name Version Module
GDB 7.11.1 apps/gdb/7.11.1