Leveraging Parallelization Opportunities by an Online CAD Tool

Orestis Gounalakis, Anastasios Lytos, Minas Dasygenis · 2016

High-performance computing utilizes many ranks and threads exploiting contemporary parallel and distributing processing architectures. Parallelizing an application is not a straightforward task as it is commonly admitted among all the researchers with this expertise. With all the different design decisions it's easy to be overwhelmed with the intricacies of the hardware and create strange bugs. Tools that aid developers to leverage their skills and knowledge are in great need. Here, we present an online tool that automates a part of the visualization of the parallelism, and can be used to pinpoint errant approaches, as we illustrate with a case study. The tool is available online at our web server, has very low runtime and can instrument via a web interface C and C++ files. The execution of these files can give an insight to the realization of the parallelism, like which thread or rank is accessing a memory address each time step. We have successfully used our tool on motion estimation kernels that were at our disposal, to aid towards their parallelization. As a test case, we present how this tool is used to pinpoint erroneous parallelization approaches on a well-known multimedia kernel.

Read the paper · More papers on PaperTik