The advent of multicore processors poses an urgent need for tools to parallelize legacy software. Automatic parallelization methods are usually limited to the instruction level or to simple loops. However, identifying parallelism in industrial applications additionally requires deep program comprehension. To solve this problem, we propose Parceive, an interactive tool that aids parallelization of software at various granularity levels. Parceive uses dynamic binary instrumentation to trace programs written in C/C++. The collected data dependencies and profiling information are then analyzed to visualize potential parallelization candidates. This approach helps developers to comprehend the application and to parallelize their software. In this paper, we motivate our approach, illustrate the architecture of Parceive, and highlight optimizations to cope with industrial applications. A case study shows the usefulness of our approach.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.