Useful introductory information on LC's software environment is presented in the Software and Development Environment section of the Introduction to Livermore Computing Resources. Open Source and Released Software lists software development efforts that LC is sponsoring, developing, or in collaboration with. For system-specific information, see the software and development environment overview for the Linux Clusters.
Code developers should visit the Sequoia Scalable Applications Project (SAP) for information on using LLNL's next-generation Sequoia supercomputer.
Numerous compilers are available to provide a rich programming environment for scientific and technical computing. For mainstream compilers such as Fortran, C, and C++, multiple versions are available, and in some cases, multiple IEEE and ISO specifications are supported by the different versions. A detailed list of single CPU, distributed memory, and shared memory compilers and their machine availability is provided in compilers currently installed on LC platforms. The HPC index provides links to compiler documentation for the compilers available on LC machines.
GNU Make controls the generation of executables and other non-source files of a program from the program's source files. It is located in /usr/local/bin/gmake. PMAKE is a non-supported parallel MPI version of GNU Make.
The Development Environment Group (DEG) provides a stable, usable, leading-edge parallel application development environment that enables users to improve the reliability and scalable performance of LLNL applications. DEG also works to make the computing tools reliable and scalable and helps users make effective use of the tools. The list of DEG Supported Software and Computing Tools for debugging, memory, trace generation and visualization, profiling, etc., provides the tool type and name, its location, the platforms on which it runs, and links to documentation.
Parallel tools are provided on most systems to take advantage of the parallel nature of the machines.
|totalview||firefox /usr/global/tools/totalview/release/help/html &
acroread /usr/global/tools/totalview/release/doc/pdf/* &
man -M /usr/global/tools/totalview/release/man totalview
|ddt||firefox 'http://www.allinea.com/products/ddt/' &
acroread /usr/global/tools/ddt/default/*/doc/*.pdf &
use ddt; ddt -h
|idb||firefox /usr/local/tools/idb/doc/Doc_Index.htm &
|pathdb||acroread /usr/local/tools/pathscale/share/doc/pathscale-pathdb-3.1/PathDB_UserGuide.pdf &
man -M /usr/local/tools/pathscale/man pathdb
use pathscale-3.1; pathdb -h
|pgdbg||firefox /usr/local/tools/pgi/doc/index.htm &
man -M /usr/local/tools/pgi/man pgdbg
use pgi-8.0.1; pgdbg -help
For more information, try man -k debug.
To isolate interactive debugging from login-node congestion, you can use the mxterm command to allocate nodes and launch an xterm from the pdebug partition, or the pbatch partition for large jobs. mxterm works on any cluster running Moab. Run mxterm for usage information.
Many text editors are available on LC UNIX and Linux systems as well as desktop workstations. Most editors have a man page. Type man editor_name for usage information.
The following editors are available on most UNIX and/or Linux systems.
See information on the Message Passing Interface (MPI), including documentation on the MPI specification, FAQs, details about how to build MPI codes on LC systems, and an overview of efforts and resources available for MPI within LC.