L. Carter et al., XDP - A COMPILER INTERMEDIATE LANGUAGE EXTENSION FOR THE REPRESENTATION AND OPTIMIZATION OF DATA MOVEMENT, International journal of parallel programming, 22(5), 1994, pp. 485-518
Citations number
33
Categorie Soggetti
Computer Sciences","Computer Science Theory & Methods
The ability to represent, manipulate, and optimize data placement and
movement between processors in a distributed address space machine is
crucial in allowing compilers to generate efficient code. Data placeme
nt is embodied in the concept of data ownership. Data movement can inc
lude not just the transfer of data values but the transfer of ownershi
p as well. However, most existing compilers for distributed address sp
ace machines either represent these notions in a language- or machine-
dependent manner, or represent data or ownership transfer implicitly.
In this paper we describe XDP, a set of intermediate language extensio
ns for representing and manipulating data and ownership transfer expli
citly in a compiler. XDP is supported by a set of per-processor struct
ures that can be used to implement ownership testing and manipulation
at run-time. XDP provides a uniform framework for translating and opti
mizing sequential, data parallel, and message-passing programs to a di
stributed address space machine. We describe analysis and optimization
techniques for this explicit representation. Finally, we compare the
intermediate languages of some current distributed address space compi
lers with XDP.