Python and C/C++ debugging
Mixed-language Python and C/C++ programming is very common in machine learning and other technologies. But debugging in one language is tough enough, especially when you have many threads. It’s easy to get lost in the glue code, and data types don’t always match so transitions are tough.
Now there’s an easier way. TotalView for HPC and CodeDynamics support this mixed-language debugging methodology.
- Support for hiding glue code stack frames
- Mixed data view with both languages present
- Ease of Python with the speed of existing algorithms in C++
How to debug machine learning call stacks
Python is a popular language for deep learning but debugging calls to existing C/C++ code in shared libraries can be extremely challenging. Untangling the confusing maze of library calls, data translations, and linked-in CUDA code can be convoluted and time consuming, as neither Python nor C/C++ debuggers provide a comprehensive view across the languages.
In this video, recorded at GPU Technology Conference 2017, we look at how Python-C/C++ transformations combined with a multithreaded, multiprocess debugger helps you understand what’s going on within your deep learning code.
There are several technologies available for creating mixed Python and C/C++ applications and as well as debugging techniques that can be used to understand the interactions between language barriers. Learn more in this white paper.
When you couple this with TotalView for HPC and CodeDynamics industry-leading support for multithreaded and multiprocess debugging and dynamic analysis, this makes a winning combination.
Learn more about our capabilities.
Move your application to different platforms quickly and easily by using core components that insulate from the underlying infrastructure.
See how we can help
Deliver sophisticated analytics without worrying about the underlying algorithms by embedding proven modeling, forecasting, and optimization functions within your apps.
Protect your software against security risks by detecting vulnerabilities within code and during runtime. With advanced static code analysis, runtime debugging, predictive analytics, and open source scanning, you’re covered.
Strengthen your code
Developing User Interfaces
Simplify the development of your user interfaces, from complex visual data analysis to basic GUIs, with comprehensive graphics, controls, and data processing toolkits.
See how it works