The Chombo package provides a set of tools for implementing finite difference methods for the solution of partial differential equations on block-structured adaptively refined rectangular grids. Both elliptic and time-dependent modules are included. Support for parallel platforms and standardized self-describing file formats are included.
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.
Written with the noweb literate programming tool, BaseEncode provides a framework for portable encoding and decoding of data in text files, somewhat similar to uuencoded arithmetic coding. By using statistical knowledge, some amount of compression can also be achieved. The algorithm is designed to be highly portable: only 16-bit signed integers are assumed. Output comes in the form of a Fortran-90 module, but translation to other languages is trivial.
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.
PCL is a software library to access hardware performance counters on many microprocessors through a uniform interface and with low overhead. Language bindings exist for C, C++, Fortran, and Java. It is intended to be used by the expert application programmer who wishes to do detailed analysis on program performance, and it is intended to be used by tool writers which need a common platform to base their work on.
Libckpt is a portable checkpointing tool for Unix. It provides a mechanism for enabling fault-tolerance for long-running programs. Libckpt implements most optimizations that have been proposed to improve the performance of checkpointing. Additionally, it implements "user-directed" checkpointing, a new optimization unique to Libckpt.