Results 1 -
5 of
5
Coarse-Grain Dataflow Programming of Conventional Parallel Computers
- in Advanced Topics in Dataflow Computing and Multithreading
, 1995
"... Granular Lucid (or GLU) is a coarse-grain dataflow language for programming conventional parallel computers. It is based on Lucid (circa 1994) which is an implicitly parallel, multidimensional dataflow language. A GLU program is a Lucid program with imperativelydefined data functions and data types. ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
Granular Lucid (or GLU) is a coarse-grain dataflow language for programming conventional parallel computers. It is based on Lucid (circa 1994) which is an implicitly parallel, multidimensional dataflow language. A GLU program is a Lucid program with imperativelydefined data functions and data types. In this paper, we briefly describe a system for coarse-grain parallel programming based on GLU. We discuss the expressiveness of GLU in composing different kinds of parallel programs. We also discuss the efficiency with which parallelism in GLU programs can be exploited on conventional parallel computers.
Transformations On Dependency Graphs: Formal Specification And Efficient Mechanical Verification
, 1995
"... Dependency graphs are used to model data and control flow in hardware and software design. In a transformational design approach, optimization and refinement transformations are used to transform dependency-graph-based specifications at higher abstraction levels to those at lower abstraction levels. ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Dependency graphs are used to model data and control flow in hardware and software design. In a transformational design approach, optimization and refinement transformations are used to transform dependency-graph-based specifications at higher abstraction levels to those at lower abstraction levels. In this dissertation, we investigate the formal specification and mechanical verification of transformations on dependency graphs. Among formal methods, the axiomatic method provides a mechanism to specify an object by asserting properties it should satisfy. We show that an axiomatic specification coupled with an efficient mechanical verification is the most suitable formal approach to address the verification of transformations on dependency graphs. We have provided a formal specification of dependency graphs, and verified the correctness of a variety of transformations used in an industrial synthesis framework. Errors have been discovered in the transformations, and modifications have bee...
Application Experience with an Implicitly Parallel Composition Language
- In Proceedings of 1994 USENIX Very High Level Languages Symposium
, 1994
"... We describe our experiences with a very high-level parallel composition language (called GLU) that enables rapid construction of parallel applications using sequential building blocks (extracted from existing sequential applications) and their execution on diverse parallel computer systems. GLU is s ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
We describe our experiences with a very high-level parallel composition language (called GLU) that enables rapid construction of parallel applications using sequential building blocks (extracted from existing sequential applications) and their execution on diverse parallel computer systems. GLU is sufficiently rich to succinctly express different forms of parallelism --- from function parallelism to data parallelism and from pipeline parallelism to tree parallelism. We show by example how a typical sequential application can be converted to a parallel one in GLU and executed on different parallel systems. We also show how GLU has been used to convert two widely used, sequentially written, inherently parallel workstation applications --- the make utility and a raytracing system --- to parallel equivalents that can then be run much faster on a network of workstations. 1 Introduction The idea of composing new applications from existing ones is commonplace in various Unix 1 shells in w...
A Type System Theory for Higher-Order Intensional Logic Support for Variable Bindings in Hybrid Intensional-Imperative Programs in GIPSY
, 906
"... We describe a type system for a platform called the General Intensional Programming System (GIPSY), designed to support intensional programming languages built upon intensional logic and their imperative counter-parts for the intensional execution model. In GIPSY, the type system glues the static an ..."
Abstract
- Add to MetaCart
We describe a type system for a platform called the General Intensional Programming System (GIPSY), designed to support intensional programming languages built upon intensional logic and their imperative counter-parts for the intensional execution model. In GIPSY, the type system glues the static and dynamic typing between intensional and imperative languages in its compiler and runtime environments to support the intensional evaluation of expressions written in various dialects of the intensional programming language Lucid. The intensionality makes expressions to explicitly take into the account a multidimensional context of evaluation with the context being a first-class value that serves a number of applications that need the notion of context to proceed. We describe and discuss the properties of such a type system and the related type theory as well as particularities of the semantics, design and implementation of the GIPSY type system.
Abstract
, 906
"... The General Intensional Programming System (GIPSY) has been built around the Lucid family of intensional programming languages that rely on the higher-order intensional logic (HOIL) to provide context-oriented multidimensional reasoning of intensional expressions. HOIL combines functional programmin ..."
Abstract
- Add to MetaCart
The General Intensional Programming System (GIPSY) has been built around the Lucid family of intensional programming languages that rely on the higher-order intensional logic (HOIL) to provide context-oriented multidimensional reasoning of intensional expressions. HOIL combines functional programming with various intensional logics to allow explicit context expressions to be evaluated as first-class values that can be passed as parameters to functions and return as results with an appropriate set of operators defined on contexts. GIPSY’s frameworks are implemented in Java as a collection of replaceable components for the compilers of various Lucid dialects and the demand-driven eductive evaluation engine that can run distributively. GIPSY provides support for hybrid programming models that couple intensional and imperative languages for a variety of needs. Explicit context expressions limit the scope of evaluation of math expressions (effectively a Lucid program is a mathematics or physics expression constrained by the context) in tensor physics, regular math in multiple dimensions, etc., and for cyberforensic reasoning as one of the use-cases of interest. Thus, GIPSY is a support testbed for HOIL-based languages some of which enable such reasoning, as in formal cyberforensic case analysis with event reconstruction. In this paper we discuss the GIPSY architecture, its evaluation engine and example use-cases.

