ANALYSIS AND COMPARISON OF AUTOMATIC PARALLELIZATION TOOLS - Daniel, Tiago Oliveira Costa (2023)
Parallel computing is not the new kid on the block. Interest in this area exists since the development of super computers in the late 1960. It has been an active area of research for decades, initially due to high performance computing but especially since the first multi core processors were launched. Parallelization provides a high number of advantages like smaller execution times and ability to tackle higher complexity problems. Although this is a highly appreciated area in the developing community, most applications do not use the full amount of the resources available mostly due to the complexity involved in programming parallel applications and to the fact most companies lack time and people. This is where automatic parallelization tools come in. This dissertation has three main objectives, the first consists in identifying the existing automatic parallelization tools and selecting a few that stand out on a common level, automatic parallelization of C applications with the use of the OpenMP library. The second objective is to understand the level of sophistication for each tool, this understanding allows the ability to verify how they differentiate from each other and what are their main focus areas. Our third and last objective will be to compare their performance increase, used resources and usability in a controlled scenario. This information will allow us to understand if any of the selected tools can complement each other to create a more complete tool in the future, for example, by increasing code coverage.