Font Size: a A A

A compile-time OpenMP cost model

Posted on:2008-06-19Degree:Ph.DType:Dissertation
University:University of HoustonCandidate:Liao, ChunhuaFull Text:PDF
GTID:1448390005973607Subject:Computer Science
Abstract/Summary:
OpenMP is a de facto API for parallel programming in C/C++ and Fortran on shared memory and distributed shared memory platforms. It is also being increasingly used with MPI to form a hybrid programming model and is expected to be a promising candidate to exploit emerging multicore architectures.In this dissertation, we propose a novel OpenMP cost model to consider OpenMP language details along with application features and platform profiles. A prototype has been implemented in an optimizing and portable OpenMP compiler. The experimental results show that our OpenMP cost model can provide relatively accurate estimations. Moreover, we evaluated the performance characteristics of OpenMP on some multicore and multithreaded architectures and explored possible extensions to our OpenMP cost model for them. We believe our model can meet the demands of different application scenarios and can serve as a basis for a wide range of model-based compilation and runtime systems.An OpenMP cost model is an analytical model that reflects the characteristics of OpenMP applications on given platforms and estimates the cost, mostly in cycles, of their execution. Such a model could be widely used to evaluate designs of computer architectures, guide compiler transformations, enhance adaptive runtime support, and assist advanced performance analysis. However, existing cost models for OpenMP make over-simplifying assumptions and ignore many software and hardware details. They are too simplistic to support significant optimizations, or meet the demands that are likely to be placed on them in the near future.
Keywords/Search Tags:Openmp
Related items