Results 1 -
3 of
3
Semantics and compilation of sequential streams into a static SIMD code for the declarative data-parallel language
, 1996
"... 81/2 is a data-parallel language that relies on the notions of stream and collection in a high-level declarative framework. We describe in this research report semantics and compilation of sequential streams of collections for this language. Firstly, a denotational semantics is associated with recur ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
81/2 is a data-parallel language that relies on the notions of stream and collection in a high-level declarative framework. We describe in this research report semantics and compilation of sequential streams of collections for this language. Firstly, a denotational semantics is associated with recursively defined sequential 81/2 streams. Furthermore, we explain how the fixed point calculus corresponding to the foregoing semantics is implemented. Secondly, we describe an effective code generation scheme targetted towards either sequential, vector or SIMD architectures. Then we present four optimization processes for the generated code: the sharing of common control expressions, the optimization of delay copies, the loop fusion and the concatenation optimization. Next, some elements for the evaluation of the generated code are given. As a conclusion, we recall the overall effectiveness of the stream compilation and draw the future work. Key-words: stream, compilation of data-flow graphs...
Data Field Computations on a Data Parallel Java Client-Server Distributed Architecture
, 1998
"... We describe FieldBroker, a software architecture, dedicated to data parallel computations on fields over Z n . Fields are a natural extension of the parallel array data structure. From the application point of view, field operations are processed by a field server, leading to a client/server archi ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
We describe FieldBroker, a software architecture, dedicated to data parallel computations on fields over Z n . Fields are a natural extension of the parallel array data structure. From the application point of view, field operations are processed by a field server, leading to a client/server architecture. Requests are translated successively in three languages corresponding to a tower of three virtual machines processing respectively mappings on Z n , sets of arrays and flat vectors in core memory. The server is itself designed as a master/multithreaded-slaves program. The aim of FieldBroker is to mutually incorporate approaches found in distributed computing, functional programming and the data parallel paradigm. It provides a testbed for experiments with language constructs, evaluation mechanisms, on-the-fly optimizations, load-balancing strategies and data field implementations. Keywords: distributed computing, data parallel computing, data field, virtual machine, software arch...
Semantics and Compilation of Recursive Sequential Streams in 8 1/2
, 1997
"... Recursive definition of streams (infinite lists of values) have been proposed as a fundamental programming structure in various fields. A problem is to turn such expressive recursive definitions into an efficient imperative code for their evaluation. One of the main approach is to restrict the strea ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Recursive definition of streams (infinite lists of values) have been proposed as a fundamental programming structure in various fields. A problem is to turn such expressive recursive definitions into an efficient imperative code for their evaluation. One of the main approach is to restrict the stream expressions to interpret them as a temporal sequence of values. Such sequential stream rely on a clock analysis to decide at what time a new stream value must be produced. In this paper we present a denotational semantics of recursively defined sequential streams. We show how an efficient implementation can be derived as guarded statements wrapped into a single imperative loop.

