|
SGI Software: Languages, Libraries, Applications, and Tools
This page lists tools and software available on the SGI Altix
system at ORNL. If you have any further questions or comments, please send
them to consult@ccs.ornl.gov.
Note: To get a list all software provided by SGI in rpms,
use "rpm -qa" - note that this is a very long list.
To view the list of Intel compilers available on Ram, use:
module avail. A module list will show the
currently loaded modules. Typically this will be the intel compilers,
possible SGI tools, and any patched linux software that is not
officially supported by SGI yet.
For other software installed by CCS, look in directories of the form
/apps/<software_name>/prod/<machine>.
Here,machine is ia64_rh7 or ia64_efc8034, where the ia64
represents SGI-Ram's Intel 64 bit Itanium processor and rh7 represents
RedHat 7.3 and efc8034 represents version 8034 of the Intel Fortran
compiler.
- efc,
- SGI Intel Fortran compiler. For version 8, it is named
ifort. The installation location
depends on what module is loaded.
For more information on the Fortran compiler, consider the following:
- f77, g77,
These are the GNU Fortran compilers; in /usr/bin/f77 and
/usr/bin/g77
- ecc
- SGI Intel C/C++ compiler. . For version 8, it is named
icc. The installation location
depends on what module is loaded.
For more information on the SGI Intel C compilers, consider the following:
- cc, gcc,
These are the GNU C compilers; in /usr/bin/cc and
/usr/bin/gcc
- gdb,
- GNU Project debugger installed in
/usr/bin/gdb.
- see man gdb, for more information on gdb.
Perl is a high-level programming
language. It is primarily derived from the C programming language.
It has process, file and text manipulation facilities that make it
particularly well-suited for tasts involving quick prototyping, system
utilities, software tools, system management tasks, database access,
graphical programming and web programming. The Perl 5.6.1 interpreter is
installed in /usr/bin/perl.
For more information, consult the
Perl home page.
Python is an interpreted, interactive,
object-oriented programming language. It incorporate modules, exceptions,
dynamic typing, high level dynamic data types, and classes. The Python
interpreter is available in /usr/bin/python
For more information, consult the
Python home page.
Tcl (Tool Control Language) is an
interpreted scripting language
that is mostly used for building graphical user interfaces.
Tk is a graphical toolkit that gives
one access to many of
the graphics primitives of the underlying windowing
system, as well as providing access to many types of widgets,
such as buttons, scrollbars, menus, and text boxes.
Several versions of Tcl and
Tk are installed on Ram in /usr/lib and Tcl can be
found in /usr/bin/tcl.
For more information, consult
Tcl/Tk Information.
There are also man pages on Tcl/Tk :
man tk,
man tcl and man n info .
The Advanced Computational Testing and Simulation (ACTS) Toolkit
is a set of DOE-developed software tools that make it easier for
programmers to write high performance scientific applications for
parallel computers.
NOTE: Most ACTS Toolkit routines are currently NOT installed on Ram.
Work is underway to obtain better tuned versions.
We're expecting an SGI-version of PETSc in the
near future.
ACTS is divided into 4 areas in which there are several software tools
each. Currently, we only have some of the ACTS Toolkit installed. In
the list below, those tools listed with a link are installed.
- Numerical Tools
- Code Development Tools
- Code Execution Tools
- CUMULVS
- Globus
- PAWS
- SILOON
- TAU
- Library Development Tools
- ATLAS & PHiPAC
- Nexus
- PADRE
- PETE
See
The ACTS Toolkit for more information.
AZTEC is a massively parallel iterative solver library for
solving sparse linear systems. Aztec is easy-to-use and efficient.
Its simplicity is attained through its use of a global distributed
matrix.
The Aztec library is installed on Ram at
/opt/public/lib/libaztec.a. The Aztec header files are located
in /opt/public/include and named
az_aztec.h, az_aztec_defs.h, and az_aztecf.h.
For more information see the
AZTEC homepage
The Basic Linear Algebra Communication Subprograms (BLACS), is a
library constructed by the ScaLAPACK team. It is intended for use in numerical
programming where communication involves two-dimensional portions of arrays.
BLACS is built on top of the MPI libraries.
The BLACS library is typically used when using the ScaLAPACK library.
SGI provides all the BLACS routines within its Scientific
Computing Software Library (SCSL) routines for distributed memory (SDSM).
For example, to compile and link your program (file.c of file.f)
using the BLACS libraries, use the following:
efc -o file file.f -lsdsm -lscs -lmpi
or
ecc -o file file.c -lsdsm -lscs -lmpi
For more information see "man intro_blacs".
BLAS, the Basic Linear Algebra Subprograms, are portable and efficient
routines that perform vector and matrix operations. The Level 1 BLAS
do vector-vector operations, the Level 2 BLAS do matrix-vector
operations, and the Level 3 BLAS do matrix-matrix operations. Because
of their efficiency, BLAS routines are commonly used in the
development of high-quality linear-algebra software such as LAPACK and
LINPACK. SGI provides all the BLAS routines within its Scientific
Computing Software Library (SCSL).
For example, to compile and link your program (file.c of file.f)
using the BLAS libraries, use the following:
efc -o file file.f -lscs
or
ecc -o file file.c -lscs
The goto-BLAS are available on Ram in
/opt/public/lib
For more information see the
BLAS Home Page .
The Scientific Computing Software Library (SCSL) contains many Fast
Fourier Transform routines. The SCSL FFT library consists of routines
that perform mixed-radix fast Fourier transforms (FFTs), as well as
convolution for Finite Impulse Response (FIR) and correlation
routines. When compiling your code be sure to link with -lscs
.
Type man fft for more information,
or you can type man -k fft
to find out about all the available FFT routines on Ram.
For additional information see the
Scientific
Computing Software Library .
FFTPACK is a package of Fortran subprograms for the fast Fourier transform
of periodic and other symmetric sequences. It includes complex, real, sine,
cosine, and quarter-wave transforms. The library is in /opt/public/lib
and named libfftpack.a. (These are actually symlinks to /apps/FFTPACK/prod/ia64_efc8034/lib/).
Note that ESSL also contains FFT routines.
If you link with -lfftpack the compiler should automatically find the appropriate
library.
For more information see the
FFTPACK home
page.
The FFTW routines, version 2.1.5 are available in
/opt/public/lib and the include files are in /opt/public/include.
If you wish to see the source or use the
3.0.1 version, you can go to /apps/FFTW/version/ia64_rh73/
For additional information see the
FFTW home page.
The Global Arrays (GA) toolkit provides an efficient and portable
"shared-memory" programming interface for distributed-memory
computers. Each process in a MIMD parallel program can asynchronously
access logical blocks of physically distributed dense
multi-dimensional arrays, without need for explicit cooperation by
other processes. Unlike other shared-memory environments, the GA model
exposes to the programmer the non-uniform memory access (NUMA)
characteristics of the high performance computers and acknowledges
that access to a remote portion of the shared data is slower than to
the local portion. The locality information for the shared data is
available, and a direct access to the local portions of shared data is
provided.
Global Arrays have been designed to complement rather than substitute
for the message-passing programming model. The programmer is free to
use both the shared-memory and message-passing paradigms in the same
program, and to take advantage of existing message-passing software
libraries. Global Arrays are compatible with the Message Passing
Interface (MPI).
For more information on Global Arrays, see the
Global Arrays Home Page.
Fast BLAS implementation for Intel processors. For more
information, see High Performance BLAS by K. Goto .
HDF stands for Hierarchical Data Format. It is designed to be a portable
file format for scientific data management.
The HDF software includes I/O libraries and tools for analyzing, visualizing,
and converting scientific data. Only HDF5 is available on Ram at this time
as a module. Use "module avail" to see what is available.
For more information see the
HDF home page.
LAPACK provides routines for solving systems of simultaneous
linear equations, least-squares solutions of linear systems of equations,
eigenvalue problems, and singular value problems. The associated matrix
factorizations (LU, Cholesky, QR, SVD, Schur, generalized Schur) are also
provided, as are related computations such as reordering of the Schur
factorizations and estimating condition numbers. Dense and banded matrices
are handled, but not general sparse matrices. In all areas, similar
functionality is provided for real and complex matrices, in both single
and double precision.
The LAPACK routines are built upon the BLAS routines. They are all
included within SGI's Scientific Computing Software Library (SCSL).
For example, you may compile your file.f file as
follows:
efc -o file file.f -lscs
For more information on LAPACK, consult the
LAPACK Home Page.
METIS provides serial graph partitioning and sparse matrix reordering. It
provides the following key components: graph partitioning, mesh partitioning,
and fill-reducing reordering. It is available both as a set of stand-alone
programs and as a library.
The Metis library is available on Ram in /opt/public/lib/libmetis.a.
You can compile your code with Metis by simply adding the "-lmetis" flag.
For more information consult the
METIS homepage .
The Intel Math Kernel Library (MKL)
(with a trial license on Ram, Nov 03) is a highly optimized
library including BLAS, LAPACK, DFTs, VML, VSL, subroutines
and optimized for Itanium2.
For more information see the following resources
The Message Passing Toolkit Library (MPT) is a subroutine library
on Ram for MPI. The MPI implementations in SGI® Message Passing Toolkit (MPT) are fully compliant with the current MPI 1.2 specification. MPT contains a number of MPI-2 features, and additional highly sought MPI-2 features continue to be added.
MPT also includes SHMEM library routines.
For more information see the following resources
NCAR Graphics is a Fortran- and C-based software package for
scientific visualization. It is comprised of
- a library containing over two dozen Fortran/C utilities for drawing
contours, maps, vectors, streamlines, weather maps, surfaces,
histograms, X/Y plots, annotations, and more
- an ANSI/ISO standard version of GKS, with both C and FORTRAN callable
entries
- a math library containing a collection of C and Fortran interpolators
and approximators for one-dimensional, two-dimensional, and
three-dimensional data
- applications for displaying, editing, and manipulating graphical
output
- map databases
- hundreds of FORTRAN and C examples
- demo programs
- compilation scripts
For more information see the NCAR Graphics home
page.
Network Common Data Form (NetCDF) is an interface for array-oriented
data access and a library that provides an implementation of the interface.
Version 3.5 is installed as a module. Use "module avail" to see what
is available.
More information is available at
NetCDF Online Info
and with the online man pages (after loading a netcdf module) for
netcdf, ncdump, ncgen, ncview
The Performance API (PAPI) is a standard application programming
interface for accessing hardware performance counters available on most
modern microprocessors. PAPI provides two interfaces to the underlying
counter hardware; a simple, high-level interface for the acquisition
of simple measurements and a fully programmable, low level interface
directed towards users with more sophisticated needs.
On ram, the PAPI library has been installed in
/apps/PAPI/prod/ia64_rh3.
For more information see the
PAPI Homepage
Parallel Basic Linear Algebra Subroutines (PBLAS) for distributed
memory MIMD computers.
SGI provides the PBLAS routines within its Scientific
Computing Software Library (SCSL) routines for distributed memory (SDSM).
For example, to compile and link your program (file.c of file.f)
using the PBLAS libraries, use the following:
efc -o file file.f -lsdsm -lscs -lmpi
or
ecc -o file file.c -lsdsm -lscs -lmpi
For more information see "man intro_scalapack".
PETSC, the Portable, Extensible Toolkit for Scientific computation,
provides sets of tools for the parallel (as well as serial), numerical solution
of PDEs that require solving large-scale, sparse nonlinear systems of
equations. PETSc includes nonlinear and linear equation solvers that employ a
variety of Newton techniques and Krylov subspace methods. PETSc provides
several parallel sparse matrix formats, including compressed row, block
compressed row, and block diagonal storage.
Version 2.1.6 of the PETSC library is available on Ram in
/apps/PETSC/petsc-2.1.6/lib.
For more information see the following:
ScaLAPACK is a library of high-performance linear algebra
routines for distributed-memory message-passing MIMD computers and
networks of workstations supporting PVM and/or MPI.
SGI provides the ScaLAPACK within its Scientific
Computing Software Library (SCSL) routines for distributed memory (SDSM).
For example, to compile and link your program (file.c of file.f)
using ScaLAPACK, use the following:
efc -o file file.f -lsdsm -lscs -lmpi
or
ecc -o file file.c -lsdsm -lscs -lmpi
For more information see "man intro_scalapack".
SGI's Scientific Computing Software Library (SCSL) is
a collection of high-performance routines that
provide support for mathematical and numerical techniques
used in scientific and technical computing.
You can link to the SCSL simply with -lscs .
The SCSL contains several sets of routines, including
the 3 levels of BLAS, the BLACS, LAPACK,
many FFTs, some Sparse Direct Solvers, and some
Sparse Iterative Solvers.
SHMEM is a fairly complete implementation of the SHMEM API
popularized by Cray Research for their T3D/E systems. SGI has
incorporated the SHMEM subroutine within its MPT (Message Passing
Toolkit) package.
For more information see the
Message Passing Toolkit.
The Climate Data Analysis Tools (CDAT) package is available on
Ram, but not by default. CDAT is developed by the DOE Program for Climate Model Diagnosis
and Intercomparison for analysis of climate data.
To use CDAT, you must load the module.
module load CDAT
See the online CDAT documentation for more information.
http://esg.llnl.gov/cdat/
gdb is a free, GNU general-purpose debugger
installed in /usr/bin/gdb.
For more information on gdb, type man gdb .
Histx is a set of tools used to assist with application
performance analysis. This release contains a profiling tool that can
sample either instruction pointer or call stack on either timer
interrupts or performance monitor counter overflows, two tools for
reporting performance monitor event counts, and three filters. These
tools run only on SGI Altix3000 systems.
Since this package needs LD_LIBRARY_PATH set when used, Histx
was set up as a module.
For more information, please consult
SGI Histx page.
NWChem is a high performance computational chemistry software. It
is designed to run on high-performance parallel supercomputers as well as
conventional workstation clusters. The 4.5 version is installed
in /apps/NWChem/4.5/ia64_rh7/bin/, and its data files
reside in /apps/NWChem/4.5/ia64_rh7/data. There is a link to
the NWChem executable in /opt/public/bin which should automatically
be in every user's path. Thus, specifying the path to the executable
is not necessary.
For more information, consult the following resources:
General Atomic and Molecular Electronic Structure System (GAMESS) does
a wide range of chemical computations. The script used to run GAMESS is
called "rungms" and there is a link to it placed in /opt/public/bin, which
should automatically be in every user's path. The command "gmshelp"
provides some information about the use of GAMESS. Additional
information can be found on the
GAMESS homepage.
Hierarchical Storage Interface (hsi) is a friendly interface for the
users of HPSS. For more information on hsi, type "hsi help" on
one of the login nodes or click on the link below.
Other HSI resources
PBS is the "Portable Batch System" job scheduler used on the
Altix system.
For additional PBS information, please use
|