Compilation Techniques
           
Event Type Start Time End Time Rm # Chair  

 

Paper 1:30PM 2:00PM 36-37 John Feo (Sun Microsystems)
 
Title:

A Compiler Analysis of Interprocedural Data Communication
  Speakers/Presenter:
Yonghua Ding (Purdue University), Zhiyuan Li (Purdue University)

 

Paper 2:00PM 2:30PM 36-37 John Feo (Sun Microsystems)
 
Title:

Automatic Type-Driven Library Generation for Telescoping Languages
  Speakers/Presenter:
Arun Chauhan (Rice University), Cheryl McCosh (Rice University), Ken Kennedy (Rice University), Richard Hanson (Rice University)

 

Paper 2:30PM 3:00PM 36-37 John Feo (Sun Microsystems)
 
Title:

Compiler Support for Exploiting Coarse-Grained Pipelined Parallelism
  Speakers/Presenter:
Wei Du (Ohio State University), Renato Ferreira (Brasil), Gagan Agrawal (Ohio State University )
             

 

     
  Session: Compilation Techniques
  Title: A Compiler Analysis of Interprocedural Data Communication
  Chair: John Feo (Sun Microsystems)
  Time: Tuesday, November 18, 1:30PM - 2:00PM
  Rm #: 36-37
  Speaker(s)/Author(s):  
  Yonghua Ding (Purdue University), Zhiyuan Li (Purdue University)
   
  Description:
  This paper presents a compiler analysis for data-communication for the purpose of transforming ordinary programs into ones that run on distributed systems. Such transformations have been used for process migration and computation offloading to improve the performance of mobile computing devices. In a client-server distributed environment, the efficiency of an application can be improved by careful partitioning of tasks between the server and the client. Optimal task partitioning depends on the tradeoff between the computation workload and the communication cost. Our compiler analysis, assisted by a minimum set of user assertions, estimates the amount of data communication between procedures. The paper also presents experimental results based on an implementation in the GCC compiler. The static estimates for several multimedia programs are compared against dynamic measurement performed using Shade, a SUN Microsystem's instruction-level simulator. The results show a high precision of the static analysis for most pairs of the procedures.
  Link: Download PDF
   

 

     
  Session: Compilation Techniques
  Title: Automatic Type-Driven Library Generation for Telescoping Languages
  Chair: John Feo (Sun Microsystems)
  Time: Tuesday, November 18, 2:00PM - 2:30PM
  Rm #: 36-37
  Speaker(s)/Author(s):  
  Arun Chauhan (Rice University), Cheryl McCosh (Rice University), Ken Kennedy (Rice University), Richard Hanson (Rice University)
   
  Description:
  Telescoping languages is a strategy to automatically generate highly-optimized domain-specific libraries. The key idea is to create specialized variants of library procedures through extensive offline processing. This paper describes a telescoping system, called ARGen, which generates high-performance Fortran or C libraries from prototype Matlab code for the linear algebra library, ARPACK. ARGen uses variable types to guide procedure specializations on possible calling contexts.

ARGen needs to infer Matlab types in order to speculate on the possible variants of library procedures, as well as to generate code. This paper shows that our type-inference system is powerful enough to generate all the variants needed for ARPACK automatically from the Matlab development code. The ideas demonstrated here provide a basis for building a more general telescoping system for Matlab.
  Link: Download PDF
   

 

     
  Session: Compilation Techniques
  Title: Compiler Support for Exploiting Coarse-Grained Pipelined Parallelism
  Chair: John Feo (Sun Microsystems)
  Time: Tuesday, November 18, 2:30PM - 3:00PM
  Rm #: 36-37
  Speaker(s)/Author(s):  
  Wei Du (Ohio State University), Renato Ferreira (Brasil), Gagan Agrawal (Ohio State University )
   
  Description:
  The emergence of grid and a new class of data-driven applications is making a new form of parallelism desirable, which we refer to as coarse-grained pipelined parallelism. Here, the computations associated with an application are carried out in several stages, which are executed on a pipeline of computing units. This paper reports on a compilation system developed to exploit this form of parallelism. Our compiler is responsible for selecting a set of candidate filter boundaries, determining the volume of communication required if a particular boundary is chosen, performing the decomposition, and generating code in which each filter unpacks data from a received buffer, iterates over its elements, and packs and forwards a buffer to the next stage. The paper reports results from a detailed evaluation of our current compiler using four data-driven applications.
  Link: Download PDF