Debugging Software for C/C++, Fortran, and Mixed-Language Python Applications
TotalView debugging software provides the specialized tools you need to quickly debug, analyze, and scale high-performance computing (HPC) applications. This includes highly dynamic, parallel, and multicore applications that run on diverse hardware — from desktops to supercomputers.
Improve HPC development efficiency, code quality, and time-to-market with TotalView’s powerful tools for faster fault isolation, improved memory optimization, and dynamic visualization.
Speed HPC Application Development
Reduce Downtime
Cut Development Costs
Learn New Code Faster
Improve Efficiency and Code Quality
Dynamic Analysis of Threads, Processes, and Memory Usage
Spend your time developing the HPC solutions needed to answer life’s bigger questions — and less time on debugging — by using the tools in TotalView for debugging:
Explore TotalView’s Features
Learn more about what you can accomplish with TotalView.
- HPC Features
- Reverse Debugging
- Memory Debugging
- Remote Debugging
- Languages
- Operating Systems
- Processors
- APIs
Debug C, C++, and Fortran applications running in your HPC environments faster with TotalView, by taking advantage of its abilities to:
- Support more than 20 different MPI implementations.
- Debug multithreaded applications with pthreads, OpenMP, and TBB.
- Easily establish interactive debugging sessions within your cluster — including through batch submission systems.
- Provide visualizations of program data and variables.
- Define how aggregate data in displayed, so you can see custom data structures in simpler forms.
- Advanced NVIDIA CUDA and OpenACC GPU debugging
- Debug ROCm / HIP applications on AMD GPUs
- Perform advanced memory debugging, including memory leaks and errors.
Speed issue resolution in HPC code by using the reverse debugging capability in TotalView to:
- Work back from a failure, error, or crash to its root cause.
- Capture a live failing process and replay the execution history to get instant visibility into what your process did and why.
- Quickly fix race conditions, segmentation faults, stackoverflow errors, and double free errors.
- Jump to a bookmark in your program's execution history.
- Full inspection of global and local variables.
- Capture hard to reproduce test and production failures during DevOps phases with Undo's LiveRecorder Software Failure Replay platform and replay the recordings in TotalView.
- Step forward and backward by function, line, and instruction.
- Support continuous integration, collaboration, and code-learning by recording code.
- Eliminate restarting your program repeatedly with different breakpoints.
- Learn new code and deliver enhancements quicker.
Find memory leaks and buffer overruns with TotalView's scalable memory-debugging technology:
- Easily find memory leaks and understand heap usage.
- Detect malloc/free, new/delete API misuse.
- Detect buffer overruns.
- Share memory debugging data with colleagues through data files and HTML reports.
- Compare memory results between sessions to verify elimination of leaks.
- Save time and money with low overhead technology that does not require recompilation or instrumentation.
TotalView provides several mechanisms to make it easy to debug remotely.
Remote UI: Run with the full power of the TotalView User Interface from your local laptop or workstation and securely debug on a remote cluster or workstation. Watch this short how to video.
Remote Display Client (RDC): Easily establish a remote desktop debugging session with TotalView running remotely on a cluster or workstation. Works with batch schedulers such as SLURM, PBS Pro and Load Leveler as well. Watch this short how to video.
Customers can request the RDC for free via the software download form.
Reverse Connect: Easily submit your job into a cluster and, once run, a reverse connection is made back to a waiting TotalView allowing you to efficiently debug your code. Watch this short how to video.
You can debug applications written in one or more of the following languages, using TotalView:
- C and C++
- Fortran
- Mixed-language applications written in Python and C/C++
The applications you debug using TotalView can run on the following operating systems:
- Linux including Cray Linux Environment (CLE) and PowerLE
- UNIX including AIX and Solaris
- macOS
You can use TotalView to debug and optimize code for laptops, workstations, servers, clusters, and supercomputers with the following processors:
- ARM (aarch64)
- Intel/AMD (x86-64, x86)
- NVIDIA GPUs on Linux x86-64, Linux ARM64, and Linux PowerLE (Power9)
- NVIDIA Jetson AGX Xavier
- AMD GPUs on Linux x86-64
- OpenPOWER (ppc64le)
- Power (ppc64, ppc32)
- SPARC