Cray Comparative Debugging Tool (CCDB 2.) uses a technique called “comparative debugging,” which allows a user to compare internal data between two executing programs. It was devised to aid the testing and debugging of programs that are either modified in some way, or are ported to other computer platforms. It is effectively a hybrid test and debug methodology.
CCDB applies this technique to programs that are modified or ported on their family of supercomputers. The technology works between different programming languages and run-time environments, so it is applicable even when different hardware is used, for example, when a code is ported from a CPU to a GPU (involving a shift in programming language as well as hardware). CCDB is particularly effective at finding errors when a code is scaled up across more processors. CCDB has been implemented on Cray XE, XK and XC supercomputers.