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

Extending Automatic Parallelization to Optimize High-Level Abstractions for Multicore

Conference ·

Automatic introduction of OpenMP for sequential applications has attracted significant attention recently because of the proliferation 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 and complex user-defined types, are largely ignored due to the lack of research compilers that are readily able to recognize high-level object-oriented abstractions and leverage their associated semantics. In this paper, we automatically parallelize C++ applications using ROSE, a multiple-language source-to-source compiler infrastructure which preserves the high-level abstractions and gives us access to their semantics. Several representative parallelization candidate kernels are used to explore semantic-aware parallelization strategies for high-level abstractions, combined with extended compiler analyses. Those kernels include an array-base computation loop, a loop with task-level parallelism, and a domain-specific tree traversal. Our work extends the applicability of automatic parallelization to modern applications using high-level abstractions and exposes more opportunities 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:
957178
Report Number(s):
LLNL-CONF-409406
Country of Publication:
United States
Language:
English

References (11)

SUIF: an infrastructure for research on parallelizing and optimizing compilers journal December 1994
Parallel programming with Polaris journal January 1996
STLlint: lifting static checking from languages to libraries journal January 2006
STAPL: An Adaptive, Generic Parallel C++ Library book January 2003
Semantic-Driven Parallelization of Loops Operating on User-Defined Containers book January 2004
The ParaWise Expert Assistant – Widening Accessibility to Efficient and Scalable Tool Generated OpenMP Code book January 2005
VFC: The Vienna Fortran Compiler journal January 1999
Applying Loop Optimizations to Object-Oriented Abstractions Through General Classification of Array Semantics book January 2005
The GNU libstdc++ parallel mode: software engineering considerations conference January 2008
OpenMP Extensions for Generic Libraries book January 2008
A C++ Infrastructure for Automatic Introduction and Translation of OpenMP Directives book January 2003

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

Automatic Parallelization Using OpenMP Based on STL Semantics
Conference · Tue Jun 03 00:00:00 EDT 2008 · OSTI ID:945633

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