Kaira is an open-source development environment for MPI (Message Passing Interface) applications. Our goal is to provide a unified environment for different activities occurring during the development of distributed applications.
Kaira use a visual programming approach. A user in Kaira creates a visual model that captures parallel behaviour. Kaira automatically generates working applications from such models. These visual models are the unifying element. They are used not only to capture parallel behaviour, but they are also used for other activities like profiling, debugging, or simulation. The visual programing is used only for parallel parts of developed applications. The sequential parts are written in standard programming language (C++) using common programing techniques and tools.
While we use a high level model (inspired by Petri Nets), we are able to perform advanced analysis like performance prediction of different verifications.
- High level approach to programming of MPI applications – parallel aspects and communication of created programs are designed as visual models.
- Integration of existing (sequential) source codes – Kaira can integrate existing C++ codes into visual models.
- Rapid prototyping – a user can observe behavior of an incomplete application in the form of simulations.
- Practical usage – Kaira generates standalone MPI applications and parallel libraries.