Follow the links to access the presentation.
Programming-Model Centric Debugging for OpenMP
Programming-Model Centric Debugging for Multicore Embedded Systems
In this presentation, we introduce our novel approach to improve interactive debugging of multicore and embedded systems. Relying on programming-model and runtime-environment structures, model-centric debugging aims at providing high-level representation, inspection and control mechanisms, tailored to the abstraction level used to develop modern applications.
We present the model-independent requirements that drove the design of our prototype tool, mcGDB, and discuss the important aspects of the development of the implementation. Finally, in the context of an industrial MPSoC platform, we present a programming model for dynamic dataflow computing and illustrate how we applied the concepts of model-centric debugging to its runtime environment. We also describe the usage of our tool through the debugging session of a h264 video decoder.
Supporting Parallel Component Debugging Using the GDB Python Interface
GNU Cauldron 2012
In this presentation, we will introduce the work we have undertaken in a join R&D effort of STMicroelectronics and the Laboratoire d’Informatique de Grenoble on the GDB project.
In the context of parallel and embedded computing, debugging is well- recognized as a complex activity. Nowadays, such applications are not developed anymore from scratch, relying only on the programming language primitives. Instead, they lean upon more advanced programming models allowing an easier expression of parallelism.
Interactive debuggers like GDB evolved from their earlier times when they could only handle machine instructions to support the source languages used by developers to write their applications. We believe that their next evolution could be the support of programming models, which would help the developers to manipulate higher level abstractions like the entities or communication mechanisms defined by the programming model. These abstractions will have the advantage of being closer to the concepts the developer dealt with during development time and they will help her to keep focused on application execution behaviour.
Hence, our work consists in improving GDB towards the support of such programming models. On top of GDB’s Python interface, and extending it with contributed patches whenever it was required, we prepared a framework supporting the debugging of an ST home-made embedded component framework for MPSoC systems, running on an x86 simulator. The presentation will detail how we leveraged GDB to gather relevant runtime information about the component framework and the set of new features we developed, along with use-cases about their usage.