I am Associate Professor at the Department of Computer Science, University of Copenhagen. My research interests are programming language technology and theory in particular for security and privacy and for concurrent and parallel programming. Static analysis, functional programming, formal methods and automated reasoning, domain-specific languages, algorithm and systems design.
We present an array comprehension language that features execution on single-instruction multiple-data (SIMD) architectures even in cases where a comprehension leads to certain kinds of non-regular nested parallelism. The comprehension language naturally supports features such as nesting, zipping, and filtering, and it also supports more advanced features such as sorting. We demonstrate how the language is compiled into efficient Futhark code featuring calls to the Futhark "segmented" library. Moreover, we give a number of examples showing that the array comprehension language provides the programmer with effective abstractions for expressing queries and computations to be executed on SIMD architectures, such as GPUs.