Functional Validation of System - level Loop Transformations

نویسندگان

  • C. Kulkarni
  • F. Catthoor
  • H. De Man
چکیده

This paper presents new results for formal validation of system-level loop transformations in the context of power eecient caching. Our main target domain consists of data-dominated applications in the multi-media area, dealing with complex loop nests containing composite data types like (multi-dimensional) arrays and lists. Global transformations applied on such loop nests cannot be formally veriied fully automatically with existing veriication approaches, except by unrolling the loops, which is infeasible in a multi-media context with heavily nested loops and large loop bounds. In this paper, our basic veriication technique dealing with this problem, based on polyhedral modeling is extended to make it eeective also for more complex realistic examples. Experiments on examples which have been translated for power eecient mapping on a processor with a memory and cache hierarchy show that the method is suited for arbitrary (irregularly nested) loop nests with complex conditional clauses. We will also demonstrate the power which can be gained by our transformation methodology for a particular cache memory organisation of the vocoder.

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

ثبت نام

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

منابع مشابه

A Simple, Verified Validator for Software Pipelining (verification pearl)

Software pipelining is a loop optimization that overlaps the execution of several iterations of a loop to expose more instruction-level parallelism. It can result in first-class performance characteristics, but at the cost of significant obfuscation of the code, making this optimization difficult to test and debug. In this paper, we present a translation validation algorithm that uses symbolic ...

متن کامل

Loopy: Programmable and Formally Verified Loop Transformations

Abstract. This paper presents a system, Loopy, for programming loop transformations. Manual loop transformation can be tedious and errorprone, while fully automated methods do not guarantee improvements. Loopy takes a middle path: a programmer specifies a loop transformation at a high level, which is then carried out automatically by Loopy, and formally verified to guard against specification a...

متن کامل

Validation of GCC optimizers through trace generation

The translation validation approach involves establishing semantics preservation of individual compilations. In this paper, we present a novel framework for translation validation of optimizers. We identify a comprehensive set of primitive program transformations that are commonly used in many optimizations. For each primitive, we define soundness conditions which guarantee that the transformat...

متن کامل

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


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

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

ثبت نام

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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2007