We present a higher-order programmer-level technique for compiling particular kinds of irregular data-parallel problems to parallel hardware. The technique, which we have named “flattening-by-expansion” builds on a number of segmented data-parallel operations but is itself implemented as a higher-order generic function, which makes it useful for many irregular problems. Concretely, the implementation is given in Futhark and we demonstrate the usefulness of the functionality for a number of irregular problems and show that, in practice, the irregular problems are compiled to efficient parallel code that can be executed on GPUs. The technique is useful in any data-parallel language that provides a key set of primitives.
Sat 22 JunDisplayed time zone: Tijuana, Baja California change
Sat 22 Jun
Displayed time zone: Tijuana, Baja California change
14:00 - 15:30 | |||
14:00 30mTalk | TeIL: a type-safe imperative Tensor Intermediate Language ARRAY | ||
14:30 30mTalk | Records with Rank Polymorphism ARRAY A: Justin Slepak Northeastern University, A: Olin Shivers Northeastern University, USA, A: Panagiotis Manolios Northeastern University | ||
15:00 30mTalk | Data-Parallel Flattening by Expansion ARRAY Martin Elsman University of Copenhagen, Denmark, Troels Henriksen University of Copenhagen, Denmark, Niels G. W. Serup DIKU, University of Copenhagen |