A*CRC users who work on code development can access a comprehensive set of software tools available on each of the machines. Here we briefly list the available tools for optimizing and tuning the applications, including compilers, editors, debugging and computing tools, as well as MPI, OpenMP and shmem libraries. We also list the common tools that are not installed or used by A*CRC users at present, but could be implemented on request.
All A*CRC systems are Linux or AIX based, hence all standard Linux/UNIX text editors can be used in code writing and file editing.
The typical text editors available for use on our systems or on native desktop users’ systems are:
||Text Editors (common)
|standard line editor
a stream editor for batch processing of files
a visual editor; full screen; uses ed/ex line-mode
commands for global file editing
a simple line editor
GNU project Emacs editor
a highly customizable text editor (Emacs: the next generation)
an X-windows text editor
a simple text editor for X-windows
editors bundled with the KDE (Linux) desktop environment
new generation file editor
|basic and Enhanced MacOS text editor versions
MacOS versions of UNIX editors
|pure text screen editor, outputs to any extension
basic formatting editor with RTF output
The comprehensive list of most text editors can be found at Wikipedia’s List of text editors, and their features are compared at Comparison of text editors page.
GNU, Intel, IBM and Pathscale compilers, with associated math libraries, are installed on the A*CRC machines. Both the open-source standard GNU tools as well as commercial C/C++ and Fortran compilers with OpenMP and MPI are installed on all our systems. Open Source GNU Compilers for C/C++ and Fortran are also installed on all of our systems.
If users are interested in other compilers such as Absoft, PGI or others on Linux, MacOS or Windows operating systems, they can inform A*CRC for possible assistance as well.
Commercial Compilers installed are:
|Intel C/C++ and Fortran
||all Intel X86 and Itanium and AMD X86
|PathScale Compiler Suite
||all AMD X86
|IBM XLC AIX C/C++ and XLF Fortran
||all IBM POWER
|Fujitsu C/C++ and Fortran
||only on Fujitsu system
Installed OS versions and compilers on each of A*CRC systems are:
||RH Linux 5.4
Compilers of C/C++ and Fortran are invoked on each of A*CRC computers by the following calls:
||FCC, fcc (Fujitsu)
icc, icpc, mpiicc, mpiicpc (Intel)
gcc, g++ (GNU)
ifort, mpiifort (Intel)
g77, gfortran (GNU)
At this stage A*CRC has only a rather restricted suite of code development tools installed on the systems. GDB are installed on all systems and IDB are on all Intel systems. Total View is available on some systems as well.
A*CRC is working on implementing a much more comprehensive set of code development tools for profiling, tracing, threading, and memory checks. A*CRC would welcome users’ feedback and suggestions on the most desirable and useful tools to be installed as first preference.
The table below lists representative and most common code development tools is use in many HPC centres.
Message Passing Interface (MPI) Application Programming Interface (API) is the dominant programming approach on modern clusters and is supported on all our systems. More on MPI, including the most updated MPI-2 specification, is available at the MPI Forum. For the examples of commands invoking MPI see calls to parallel compilations examples on A*CRC systems page.
OpenMP is the incumbent standard for shared-memory SMP and NUMA parallel programming on multiprocessor systems, in local memory cluster systems used mostly for jobs operating within the node. More information on OpenMP can be found here and Compunity. For the examples of commands invoking OpenMP see calls to parallel compilations examples on A*CRC systems page.
SHMEM is the ultrafast native ‘shared virtual memory’ communication library on selected multiprocessor and cluster systems, with substantial performance gains over MPI. A*CRC has several systems, both SMP and Quadrics-interconnected clusters, that support accelerated shmem in hardware.. For the examples of commands invoking shmem see calls to parallel compilations examples on A*CRC systems page.
Last Updated - 29th Nov 2016