Automatic performance evaluation of parallel programs

Traditional parallel programming forces the programmer, apart from designing the application, to analyse the performance of this recently built application. This difficult task of testing the behaviour of the program can be avoided with the use of an automatic performance analysis tool. Users are released from having to understand the enormous amount of performance information obtained from the execution of a program. The automatic analysis bases its work on the use of a predefined list of logical rules of production of performance problems. These rules form the "knowledge base" of the tool. When the tool analyses an application, it looks for the occurrence of an element in the list of performance problems recorded in the "knowledge base". When one of the problems is found (a "match" in the list), the tool analyses the cause of the performance problem and builds a recommendation to the user to direct the possible modifications the code of the application.