DOI: 10.1007/978-3-540-85261-2_10
|View full text |Cite
|
Sign up to set email alerts
|

Pillar: A Parallel Implementation Language

Abstract: As parallelism in microprocessors becomes mainstream, new programming languages and environments are emerging to meet the challenges of parallel programming. To support research on these languages, we are developing a lowlevel language infrastructure called Pillar (derived from Parallel Implementation Language). Although Pillar programs are intended to be automatically generated from source programs in each parallel language, Pillar programs can also be written by expert programmers. The language is defined as… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
10
0

Publication Types

Select...
4
1

Relationship

3
2

Authors

Journals

citations
Cited by 6 publications
(10 citation statements)
references
References 16 publications
0
10
0
Order By: Relevance
“…The boxes represent transformation passes of the compiler, and lines represent data flowing through the compiler, annotated with the specific IR going into and coming out of each pass. When we compile a set of input Haskell files, we first invoke GHC to compile them to external Core files, read them back in, then go through various internal transformations and multiple IRs, before outputting a program in a language called Pillar [2] (an extension to the C language inspired by C-- [23]). A tool called Pillar2c is used to translate the Pillar code to C code, and the Intel C compiler is used to produce the final machine executable.…”
Section: Flrcmentioning
confidence: 99%
See 2 more Smart Citations
“…The boxes represent transformation passes of the compiler, and lines represent data flowing through the compiler, annotated with the specific IR going into and coming out of each pass. When we compile a set of input Haskell files, we first invoke GHC to compile them to external Core files, read them back in, then go through various internal transformations and multiple IRs, before outputting a program in a language called Pillar [2] (an extension to the C language inspired by C-- [23]). A tool called Pillar2c is used to translate the Pillar code to C code, and the Intel C compiler is used to produce the final machine executable.…”
Section: Flrcmentioning
confidence: 99%
“…FLRC and Pillar [2] were concurrently developed in the same lab and one goal of the FLRC project was to act as a test case for language development on top of Pillar. Pillar is a language, compiler, and runtime that provides programming language infrastructure.…”
Section: Pillarmentioning
confidence: 99%
See 1 more Smart Citation
“…In order to get immutable code written in this style from GHC and the libraries discussed above, we modified GHC with new primitive immutable array types 1 and primitive operations on them. The additional operations include creation of a new uninitialized array, initializing writes, and a subscript operation.…”
Section: Ghc Modificationsmentioning
confidence: 99%
“…In this case, the variable b s is loop invariant, and consequently b v will consist simply of eight copies of the same value. Semantically then, we can replace our use of the general vector load instruction with the simpler gather 1), is the induction variable computation, and as such requires special treatment. The result of this instruction is used for three purposes: in the computation of the test to decide whether to proceed with another iteration, to provide a new value for the induction variable in the next iteration, and to provide the value passed out on the exit edge.…”
Section: The Vector Loopmentioning
confidence: 99%