MathGL is a library for making high-quality scientific graphics under Linux and Windows, fast data plotting and handling of large data arrays, working in window and console modes, and easily embedding into other programs. It has more than 40 general types of graphics for 1d, 2d, and 3d data arrays. It can export graphics to raster and vector (EPS or SVG) formats. It has an OpenGL interface and can be used from console programs. It has functions for data handling and MGL language scripting for simplification of data plotting. It has several types of transparency and smoothed lightning, vector fonts and TeX-like formula drawing, an arbitrary curvilinear coordinate system, and many other useful things.
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.
Dynamic Probe Class Library (DPCL) is an object-based C++ class library that provides the necessary infrastructure to allow tool developers and sophisticated tool users to build parallel and serial tools through technology called dynamic instrumentation. DPCL takes the basic components needed by tool developers and encapsulates them into C++ classes. Each of these classes provide the member functions necessary to interact and dynamically instrument a running application with software patches called probes. Dynamic instrumentation provides the flexibility for tools to insert probes into applications as the application is running and only where it is needed.
Hoard is a scalable memory allocator (malloc replacement) for multithreaded applications. Hoard can dramatically improve your application's performance on multicore machines. No changes to your source are necessary; just link it in. Hoard scales linearly up to at least 64 processors. Supported platforms include Linux, Solaris, Mac OS X, and Windows.
Elemental is a C++ framework for distributed-memory dense linear algebra that strives to be fast, portable, and programmable. It can be thought of as a generalization of PLAPACK to element-by-element distributions that also makes use of recent algorithmic advances from the FLAME project. Elemental usually outperforms both PLAPACK and ScaLAPACK, however, it heavily relies on MPI collectives so a good MPI implementation is crucial. Both pure MPI and hybrid OpenMP-MPI configurations are supported.
The TIGL Geometry Library can be used for easy processing of geometric data stored inside CPACS data sets. TIGL offers query functions for the geometry structure. These functions can be used, for example, to detect how many segments are attached to a certain segment, which indices these segments have, or how many wings and fuselages the current airplane configuration contains. This functionality is necessary because TIGL targets not only the modeling of simple wings or fuselages but also the description of quite complicated structures with branches or flaps. The library uses the OpenCASCADE software to represent the airplane geometry by B-spline surfaces in order to compute surface points and also to export the geometry in the IGES/VTK format. The library provides external interfaces for C, C++, Python, Java, and FORTRAN.
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.