Research and development of methods allowing automatic detection of logical errors and patterns of inefficient behavior in parallel applications and their implementation in web environment.
Most of developed tools for analysis for various libraries (MPI, OpenMP) and languages for parallel programming use low level approaches to analyze the performance of parallel applications. There are a lot of profiling tools and trace visualizers which produce tables, graphs with various statistics of executed program. In most cases developer has to manually look for bottlenecks and opportunities for performance improvement in the produced statistics and graphs. The amount of information developer has to handle manually, increase dramatically with number of cores, number of processes and size of problem in application. Therefore new methods of performance analysis fully or partially handling output information will be more beneficial.
The aim of the project is a creation of software tools for parallel application development support process and building flexible and scalable platform for management of computation resources of supercomputing center. The method for detection of inefficient usage of communication patterns, logical and semantic errors in parallel applications has been developed. Tools for automatic detection of errors in parallel applications in C/C++ or Fortran languages using MPI, or in UPC language have been developed and implemented. Computation portal has been developed in this research to integrate tools for automatic error detection and allow collective development of parallel applications using web interface.
The project was implemented under the Program "Research and development in priority areas of Russia scientific and technological complex development for 2007-2013".