skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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 (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
W-7405-ENG-48
OSTI ID:
957178
Report Number(s):
LLNL-CONF-409406; TRN: US201007%%598
Resource Relation:
Journal Volume: 5568; Conference: Presented at: International Workshop on OpenMP, Dresden, Germany, Jun 03 - Jun 05, 2009
Country of Publication:
United States
Language:
English

References (11)

Parallel programming with Polaris journal January 1996
The ParaWise Expert Assistant – Widening Accessibility to Efficient and Scalable Tool Generated OpenMP Code book January 2005
Applying Loop Optimizations to Object-Oriented Abstractions Through General Classification of Array Semantics book January 2005
VFC: The Vienna Fortran Compiler journal January 1999
SUIF: an infrastructure for research on parallelizing and optimizing compilers journal December 1994
STAPL: An Adaptive, Generic Parallel C++ Library book January 2003
The GNU libstdc++ parallel mode: software engineering considerations conference January 2008
OpenMP Extensions for Generic Libraries book January 2008
STLlint: lifting static checking from languages to libraries journal January 2006
Semantic-Driven Parallelization of Loops Operating on User-Defined Containers book January 2004
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 · Mon Dec 21 00:00:00 EST 2009 · the International Journal of Parallel Programming, vol. 38, no. 5, August 23, 2010, pp. 361 · OSTI ID:957178

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

Applying Loop Optimizations to Object-oriented Abstractions Through General Classification of Array Semantics
Conference · Fri Mar 05 00:00:00 EST 2004 · OSTI ID:957178