Font Size: a A A

Optimizing large-scale scientific applications through the integration of higher-level semantics and analytical performance modeling

Posted on:2015-06-22Degree:Ph.DType:Dissertation
University:University of Colorado at Colorado SpringsCandidate:Guo, JichiFull Text:PDF
GTID:1478390017993615Subject:Computer Science
Abstract/Summary:
The emergence of multi-core architectures makes it essential for optimizing compilers to automatically extract parallelism for large scientific applications composed of many subroutines residing in different files. Inlining is a well-known technique which can be used to erase procedural boundaries and enable more aggressive loop parallelization. However, conventional inlining cannot be applied to external libraries where the source code is not available, and when overly applied, it can degrade the effectiveness of compiler optimizations due to excessive code complexity. This paper highlights some obstacles we encountered while applying conventional inlining combined with automatic loop parallelization using the Polaris optimizing compiler and presents a new approach, annotation-based inlining, to effectively overcome these obstacles. Our experimental results show that the annotation-based inlining approach can eliminate negative impact of conventional inlining while enhancing the effectiveness of interprocedural parallelization for a majority of applications from the PERFECT benchmark suite.
Keywords/Search Tags:Applications, Optimizing, Conventional inlining
Related items