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.