TAU (Tuning and Analysis Utilities) is a set of tools for analyzing the performance of C, C++, Fortran and Java programs. It collects much more information than is available through prof or gprof, the standard Unix utilities, including per-process, per-thread, and per-host information, inclusive and exclusive function times, profiling groups that allow you to organize data collection, access to hardware counters on some systems, per-class and per-instance information, the ability to separate data for each template instantiation, start/stop timers for profiling arbitrary sections of code, and support for collection of statistics on user-defined events.
PCP (Pattern Classification Program) is a machine learning program for supervised classification of patterns. It runs in interactive and batch modes, and implements the following machine learning algorithms and methods: k-means clustering, Fisher's linear discriminant, dimension reduction using Singular Value Decomposition, Principal Component Analysis, feature subset selection, Bayes error estimation, parametric classifiers (linear and quadratic), pseudo-inverse linear discriminant, k-Nearest Neighbor method, neural networks, Support Vector Machine algorithm (SVM), model selection for SVM, cross-validation, and bagging (committee) classification.
PLplot is a library of C functions that are useful for making scientific plots from programs written in a wide variety of languages. It can be used to create standard x-y plots, semi-log plots, log-log plots, contour plots, 3D plots, shade (gray-scale and color) plots, mesh plots, bar charts, and pie charts. Multiple graphs may be placed on a single page with multiple lines in each graph. Different line styles, widths, and colors are supported. A virtually infinite number of distinct area fill patterns may be used. A variety of output devices and file formats are supported.
Fenris is a multipurpose tracer, debugger, and code analysis tool that detects and documents high-level language constructions, can recover symbols, graph program execution flow, detect internal functions, recover symbol tables, and deal with anti-debugging protection. It features a command-line interface as well as a SoftICE-alike GUI and Web frontend.
SEM2DPACK is a simulator of 2D elastic wave propagation and fracture dynamics that applies the Spectral Element Method (SEM, similar to mass-lumped high-order finite element methods). Flexibility and accuracy are the main goals. Although the emphasis is currently on computational seismology and earthquake source dynamics, this tool might attract a wider audience in computational mechanics, research, and engineering.
The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
Open64 is a suite of optimizing compiler development tools for Intel Itanium(TM) systems running Linux. The Open64 project is the continuation of the SGI Pro64(TM) compiler suite which was released under the GNU General Public License (GPL). The Open64 compiler suite currently includes compilers for C, C++, and Fortran90/95 compilers for the IA-64 Linux ABI and API standards.