Title | ||
---|---|---|
Extending Automatic Parallelization to Optimize High-Level Abstractions for Multicore |
Abstract | ||
---|---|---|
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 allows us to unambiguously leverage their known 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-based 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. |
Year | DOI | Venue |
---|---|---|
2009 | 10.1007/978-3-642-02303-3_3 | IWOMP |
Keywords | Field | DocType |
automatic parallelization,high-level object-oriented abstraction,multicore processor,high-level abstraction,optimize high-level abstractions,extended compiler analysis,representative parallelization candidate kernel,extending automatic parallelization,associated semantics,array-based computation loop,semantic-aware parallelization strategy,automatic introduction,object oriented,data type,multicore processors | Computer architecture,Tree traversal,Programming language,Computer science,Parallel computing,Abstract syntax tree,Fortran,Compiler,Multi-core processor,Semantics,Primitive data type,Automatic parallelization | Conference |
Volume | ISSN | Citations |
5568 | 0302-9743 | 4 |
PageRank | References | Authors |
0.68 | 16 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Chunhua Liao | 1 | 330 | 30.72 |
Daniel J. Quinlan | 2 | 652 | 80.13 |
Jeremiah J. Willcock | 3 | 17 | 2.00 |
Thomas Panas | 4 | 72 | 5.56 |