PapersRelatedToFeldsparObsidianIntermediateRepresentationsAndTheLike
Workshop, Jan 17 2013
See the notes.
Parallel Intermediate Representations, Compilation and the like (reading for workshop on 17 Jan 2013)
VCODE: a data parallel intermediate language, Blelloch and Chatterjee. FMPC90
Manticore : a heterogeneous parallel language, Fluet et al. DAMP07
- The following paper actually talks about the IL of Manticore, though it's not published: Nested schedulers for heterogeneous parallelism
- Another paper which talks about intermediate representations in Manticore: Status Report: The Manticore Project
Delite see also lightweight modular staging
Decoupling algorithms from schedules for easy optimization of image processing pipelines
Feldspar and Syntactic (more recent)
Feldspar : Application and Implementation, Axelsson and Sheeran
A Generic Abstract Syntax Model for Embedded Languages, Axelsson. ICFP 2012 See also slides
Earlier or less relevant Feldspar papers
Obsidian and other approaches to GPU programming
Obsidian:GPU Kernel Programming in Haskell, Joel Svensson, lic. thesis, Chalmers, 2011
Nested Data-Parallelism on the GPU, Bergstrom and Reppy. ICFP12 uses VCODE (see below)
Embedded ArBB (an embedding in Haskell of Intel's (now retired) Array Building Blocks
Parallel Programming in Haskell Almost for Free, Svensson and Sheeran. FHPC 2012 (with ICFP)
Embedded languages
Josef Svenningsson's tutorial about combining deep and shallow embeddings
Combining Deep and Shallow Embedding for EDSL, Svenningsson and Axelsson, TFP12
StagedSAC: a case study in performance-oriented DSL development, Ureche et al. PEPM12 a deep embedding of SAC in Scala (see Delite below)
Parallel Programming
Intel Threading Building Blocks (TBB)
openCL, disputed wiki page need to figure out best references
More papers on Parallel Intermediate Representations, Compilation and the like (needs refining, please add more papers!)
ispc: A SPMD Compiler for High-Performance CPU Programming, Pharr and Mark. INPAR 2012
Single Assignment C compiler implemention, Grelck et al. or perhaps need to look at other SAC papers?
Polyhedral loop transformation
Joint Scheduling and Layout Optimization to Enable Multi-Level Vectorization