Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Automatic Parallelization Using OpenMP Based on STL Semantics

Conference ·
OSTI ID:945633

Automatic parallelization of sequential applications using OpenMP as a target has been attracting significant attention recently because of the popularity of multicore processors and the simplicity of using OpenMP to express parallelism for shared-memory systems. However, most previous research has only focused on C and Fortran applications operating on primitive data types. C++ applications using high level abstractions such as STL containers are largely ignored due to the lack of research compilers that are readily able to recognize high level object-oriented abstractions of STL. In this paper, we use ROSE, a multiple-language source-to-source compiler infrastructure, to build a parallelizer that can recognize such high level semantics and parallelize C++ applications using certain STL containers. The idea of our work is to automatically insert OpenMP constructs using extended conventional dependence analysis and the known domain-specific semantics of high-level abstractions with optional assistance from source code annotations. In addition, the parallelizer is followed by an OpenMP translator to translate the generated OpenMP programs into multi-threaded code targeted to a popular OpenMP runtime library. Our work extends the applicability of automatic parallelization and provides another way to take advantage of multicore processors.

Research Organization:
Lawrence Livermore National Laboratory (LLNL), Livermore, CA
Sponsoring Organization:
USDOE
DOE Contract Number:
W-7405-ENG-48
OSTI ID:
945633
Report Number(s):
LLNL-CONF-404412
Country of Publication:
United States
Language:
English

Similar Records

Semantic-Aware Automatic Parallelization of Modern Applications Using High-Level Abstractions
Journal Article · Sun Dec 20 23:00:00 EST 2009 · the International Journal of Parallel Programming, vol. 38, no. 5, August 23, 2010, pp. 361 · OSTI ID:989343

Extending Automatic Parallelization to Optimize High-Level Abstractions for Multicore
Conference · Thu Dec 11 23:00:00 EST 2008 · OSTI ID:957178

Semantic-driven Parallelization of Loops Operating on User-defined Containers
Conference · Wed Jul 09 00:00:00 EDT 2003 · OSTI ID:15005011