C3P Proceedings of the third conference on Hypercube concurrent computers and applications - Volume 2
Global value numbers and redundant computations
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Let-floating: moving bindings to give faster programs
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Proceedings of the 26th annual conference on Computer graphics and interactive techniques
Improving Software Pipelining With Unroll-and-Jam
HICSS '96 Proceedings of the 29th Hawaii International Conference on System Sciences Volume 1: Software Technology and Architecture
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Experimental Evaluation of Load Balancing Strategies for Ray Tracing on Parallel Processors
ICPP '94 Proceedings of the 1994 International Conference on Parallel Processing - Volume 02
Quantifying the cost of context switch
Proceedings of the 2007 workshop on Experimental computer science
Faster laziness using dynamic pointer tagging
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Dependently typed programming in Agda
Proceedings of the 4th international workshop on Types in language design and implementation
Parallel performance tuning for Haskell
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Regular, shape-polymorphic, parallel arrays in Haskell
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Efficient parallel stencil convolution in Haskell
Proceedings of the 4th ACM symposium on Haskell
Monad factory: type-indexed monads
TFP'10 Proceedings of the 11th international conference on Trends in functional programming
Optimising purely functional GPU programs
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Exploiting vector instructions with generalized stream fusio
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
We present a refined approach to parallel array fusion that uses indexed types to specify the internal representation of each array. Our approach aids the client programmer in reasoning about the performance of their program in terms of the source code. It also makes the intermediate code easier to transform at compile-time, resulting in faster compilation and more reliable runtimes. We demonstrate how our new approach improves both the clarity and performance of several end-user written programs, including a fluid flow solver and an interpolator for volumetric data.