Visual Programming of MPI Applications: Debugging, Performance Analysis, and Performance Prediction

Stanislav Böhm, Marek Běhálek, Ondřej Meca, Martin Šurkovský

In our research, we try to simplify the development of parallel applications in the area of the scientific and engineering computations for distributed memory systems. The difficulties of this task lie not only in programming itself, but also in a complexity of supportive activities like debugging and performance analyses. We are developing a unifying framework where it is possible to create parallel applications and perform various supportive activities. The unifying element, that interconnects all these activities, is our visual model that is inspired by Colored Petri Nets. It is used to define the parallel behavior and the same model is used to show the inner state of the developed application back to the user. This paper presents how to extend this approach for debugging, tracing, and performance predictions. It also presents benefits obtained by their interconnection. The presented ideas are integrated into our open source tool Kaira ( Kaira is a prototyping tool, where a user can implement his/her ideas and experiment with them in a short time, create a real running program and verify its performance and scalability.