| Chatterjee, S., Blelloch, G.E., and Fisher, A.L. Size and Access Inference for Data-Parallel Programs. PLDI 1991, 130-144. 13 |
....of recursion by branding its name in the program: ##.We believe that this kind of annotation is easier to use than annotations of the type language with size expressions. The size information, expressed in terms of structural parameters, is derived by following the data ow of the function [4]. Our choice of a referentially transparent language enables a local analysis of each function. Where a function # is applied to an argument #, the size information of the result can often be computed by an application of the size function of # to the size information of #. We prefer to encode all ....
Siddharta Chatterjee, Guy E. Blelloch, and Allan L.Fisher. Size and access inference for data-parallel programs. Technical Report CMU-CS-91-118, Dept. Computer Science, Carnegie-Mellon Univ., 1991. Size Inference and Program Optimization 217
....viewed as a shape data decomposition. These languages structure their programs with secondorder combinators, such as map and fold (e.g. Skillicorn [27] Meijer et al. [23] Cole [8] which are particularly well adapted to shape analysis. Related to shape inference is size inference (Blelloch et al. [6]) which analyses loops in a data parallel program to infer the size of the underlying data structure. More remote, but also related, is a static shape analysis of heaps by pointer analysis as in Sagiv et al. [25] Data distribution can also be seen as a shape issue (Jay et al. [17] In this paper, ....
.... Theta vec nat nat scalar 0 = fold 0 ) ffi (map ) ffi zip 0 : Finally, multiplication of two matrices is given by multiply : mat nat mat nat mat nat multiply = x; y: map (z: map (scalar z) transpose y) x and we get #(multiply mat1 mat2) h 2; h 1; unii multiply mat1 mat2 ) [6]; 6] By contrast, #(multiply mat2 mat1) reveals a shape error. The approach adopted towards operations on natural numbers can be generalised to any additional combinator c whose type does not contain any sz or vec 0 . Observe that # is constructed from copies of unit using products and ....
[Article contains additional citation context not shown here]
G.E. Blelloch, S. Chatterjee and A.L. Fisher. Size and access inference for data-parallel programs. In ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 130--144, 1991.
....of nested lists into vectors) can be viewed as a shape data decomposition. These languages structure their programs with second order combinators, such as map and fold (e.g. Ski90, MFP91, Col93] which are particularly well adapted to shape analysis. Related to shape inference is size inference [BCF91] which analyses loops in a data parallel program to infer the size of the underlying data structure. Data distribution can also be seen as a shape issue [JCE96] In this paper, we focus on the problem of shape checking, i.e. of finding shape errors in array programs. The core shape errors are the ....
G.E. Blelloch, S. Chatterjee, and A.L. Fisher. Size and access inference for data-parallel programs. In ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 130--144, 1991.
....[2] 3] In these machines, careful design of the network connecting fast microprocessors and memory modules together is also critical to achieving good performance. Intelligent network design coupled with support for latency hiding [4] and compile time data structure layout optimization [5] can yield good speedup for parallel programs and can prevent memory latency from becoming a bottleneck. We present in this paper a packet switched direct network for shared memory multiprocessors in which a processor memory pair forms a network node. A processor has access to physically remote ....
S. Chatterjee et al., "Size and access inference for data-parallel programs," (Toronto, Ontario, Canada), ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, 1991.
....routing, and parallel prefix sums (also called scans) In his thesis, Blelloch [Ble90] showed that most PRAM algorithms can be translated into such a model. More recent work has shown that Blelloch s set of vector primitives can be efficiently implemented on a wide variety of machines [CBZ90, CBF91] Thus, it is apparent that the PRAM model can be used as a basis for designing parallel algorithms that are efficient in practice. The real problem with PRAM algorithms has to do with why they are developed and how they are analyzed. For the most part, the goal behind a PRAM algorithm is not to ....
S. Chatterjee, G. Blelloch, and A. L. Fisher. Size and access inference for data parallel programs. Technical report, CMU, 1991.
.... [42] CM Lisp [30] Paralation Lisp [43] Scan Vector Model [10] HPF [26] These languages were firstly introduced with respect to the Connection Machine [27] and most of the efforts made for their implementation refer to SIMD architectures [11, 33] even if some attempts have been done for MIMD [16]. 3.3 Implementation of models based on extension As we have outlined in the introduction, the adoption of a restricted model of computation per se is not enough to overcome the problems in the implementation of an unrestricted model. What we also need is that the restricted structure of the ....
....choose the best granularity and the more appropriate data placement. In this case, the unrestricted part of the code and the presence of essentially unstructured operations like the permute force the support designer towards a substantially traditional organisation of the support [16]. In conclusion, the models based on extensions suffer of essentially two limitations: ffl the first is to allow computations including unrestricted parts. This forces either to ignore the parallelism included in those parts (which become potential bottlenecks of computation) or to face the ....
S. Chatterjee, G.E. Blelloch, and A.L. Fisher. Size and Access Inference for Data Parallel Programs. In Proc. of the ACM SIGPLAN'91 Conference on Programming Language Design and Implementation, pages 130-- 144, Toronto, Ontario, Canada, June 26--28, June 1991.
....interact with each other through side effects. This problem can probably be overcome with aggressive compiler analysis to determine places where there is the possibility of interaction. 3 System Overview Our implementation of Nesl consists of an intermediate language called Vcode [9] a compiler [15, 16] and interpreter for Vcode, and a portable library of parallel routines called Cvl [10] Figure 5 illustrates how the implementation is organized. We split our system along these lines so that we could concentrate on different aspects of the system in isolation. This section gives an overview of ....
S. Chatterjee, G. E. Blelloch, and A. L. Fisher. Size and access inference for data-parallel programs. In ACM SIGPLAN '91 Conference on Programming Language Design and Implementation, pages 130-- 144, June 1991.
No context found.
Chatterjee, S., Blelloch, G.E., and Fisher, A.L. Size and Access Inference for Data-Parallel Programs. PLDI 1991, 130-144. 13
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC