Software Parallelization Tools

Writing parallel code is traditionally considered a difficult task, even when it is tackled from the beginning of a project. In this paper, we demonstrate an innovative toolset that faces this challenge directly. It provides the software developers with data-dependency profile data and directs them to possible top-level, pipeline-style parallelization opportunities for an arbitrary sequential C program. This approach is complementary to the methods based on static code analysis and automatic code rewriting and does not impose restrictions on the structure of the sequential code or the parallelization style, even though it is mostly aimed at coarse-grained, task-level parallelization. The proposed toolset has been utilized to define parallel code organizations for several real world representative applications and it is based on and provided as free source code.

More information is available here.

2 papers on this topic have been presented in international conferences.

Research groups