Array SSA for Explicitly Parallel Programs

نویسنده

  • Jean-Francois Collard
چکیده

The usefulness and applicability of the Static Single Assignment (SSA) framework is undisputed. SSA was originally crafted for sequential programs manipulating scalars, but it has been separately extended to parallel programs on the one hand, and to sequential programs with arrays on the other. In an Array SSA framework, arrays are precisely handled on an element-per-element basis. This paper proposes an Array SSA form for parallel programs with either weak or strong memory consistency, with event-based synchronization or mutual exclusion, with parallel sections or indexed parallel constructs. 1 Introduction and Related Work The usefulness and applicability of the Static Single Assignment (SSA) framework 5] is undisputed, and still is the subject of active research (e.g.,,22]). SSA was originally crafted for sequential programs manipulating scalars, but it has been extended recently to sequential programs with arrays 11]. In an Array SSA framework, arrays are precisely handled on an element-per-element basis. Array SSA was already successfully applied to traditional optimizations such as constant propagation 21]. Moreover, extending reaching deenition analyses (RDAs) and SSA to parallel programs has been a very active area of research too. Data ow analyses for parallel programs, and in particular reaching deenition analyses, were proposed in 8, 10, 3]. SSAs for various kinds of parallel language models were proposed in 17, 18, 14, 23]. Contrasting papers presenting an RDA with papers about SSA is easy. Several other issues, however, make the comparison of related papers a tricky task. Questions that arise include: 1. Does the paper apply element-wise to arrays? This issue is extremely important for scientiic and \high-performance" programming, but most papers apply to scalars only or to arrays considered as one single variable (exceptions include 3, 11, 21]). 2. Does the paper consider both the weak and the strong

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallel Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs

Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques, such as constant propagation, of sequential programs. We introduce a new Parallel Static Single Assignment (PSSA) form and the transformation algorithm for the explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this pap...

متن کامل

Concurrent SSA Form in the Presence of Mutual Exclusion

Most current compiler analysis techniques are unable to cope with the semantics introduced by explicit parallel and synchronization constructs in parallel programs. In this paper we propose new analysis and optimization techniques for compiling explicitly parallel programs that use mutual exclusion synchronization. We introduce the CSSAME form, an extension of the Concurrent Static Single Assig...

متن کامل

Enabling Sparse Constant Propagation of Array Elements via Array SSA Form

We present a new static analysis technique based on Array SSA form [6]. Compared to traditional SSA form, the key enhancement in Array SSA form is that it deals with arrays at the element level instead of as monolithic objects. In addition, Array SSA form improves the φ function used for merging scalar or array variables in traditional SSA form. The computation of a φ function in traditional SS...

متن کامل

Concurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs

Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques such as constant propagation in sequential programs. We introduce the Concurrent Static Single Assignment (CSSA) form and the transformation algorithm for explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this paper is ...

متن کامل

Enhanced Parallelization via Analyses and Transformations on Array SSA Form

Array SSA form is a version of SSA form that captures precise element-level data flow information for array variables. As an example of program analysis using Array SSA form, we presented a conditional constant propagation algorithm that can lead to discovery of a larger set of constants than previous algorithms that analyze only scalar variables [7]. As an example of program transformation usi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999