Research

I’m a PhD student at Indiana University in the programming languages group, advised by Dr. Ryan Newton.

Projects

My research generally involves parallelism and functional programming.

I am interested in designing programming languages to help programmers make better use of parallel hardware. More generally, I want to make software more efficient, especially through parallelism.

Currently, my research is about using types to ensure properties of parallel programs. I am also working on an ongoing project called Gibbon that explores compiler optimizations that improve the performance of recursive tree traversals.

Previously, I worked on two research projects based around doing GPU programming in a functional style using embedded domain-specific languages. On the first, I contributed to Accelerate, aiming to extend the language and compiler to automatically divide work across multiple GPUs. On the second, I contributed to Obsidian, where I implemented an auto-tuning framework that used heuristic-based search to improve the performance of GPU kernels.

In the past, I briefly did research in artificial intelligence. I worked with Dr. Scott Gordon on a variation of the minimax algorithm designed to take more risks and set traps.

Publications

Michael Vollmer, Ryan G. Scott, Madanlal Musuvathi, and Ryan R. Newton. 2017. SC-Haskell: Sequential Consistency in Languages That Minimize Mutable Shared Heap. In Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’17). ACM, New York, NY, USA, 283-298. [PDF]

Michael Vollmer, Bo Joel Svensson, Eric Holk, and Ryan R. Newton. 2015. Meta-programming and Auto-tuning in the Search for High Performance GPU Code. In Proceedings of the 4th ACM SIGPLAN Workshop on Functional High-Performance Computing (FHPC 2015). ACM, New York, NY, USA, 1-11. [PDF]

Bo Joel Svensson, Michael Vollmer, Eric Holk, Trevor L. McDonell, and Ryan R. Newton. 2015. Converting Data-parallelism to Task-parallelism by Rewrites: Purely Functional Programs Across Multiple GPUs. In Proceedings of the 4th ACM SIGPLAN Workshop on Functional High-Performance Computing (FHPC 2015). ACM, New York, NY, USA, 12-22. [PDF]