
Ivo Gabe de Wolff
Utrecht University
I'm doing research on high performance parallel computing, at Utrecht University. I have designed a new scheduling algorithm, called Work Assisting, for thread-level parallelism on CPUs. It handles task and data parallelism separately and can thus use different scheduling strategies for both forms of parallelism.
Besides this new scheduling algorithm, I have also worked on faster scan (prefix sum) algorithms and concurrent memory management.
I am applying these topics in the context of Accelerate, a library for high-performance parallel array programming in Haskell. The Accelerate compiler can target multi-core CPUs and GPUs. For my PhD, I have designed a new compiler architecture and runtime for Accelerate. This new runtime uses the Work Assisting scheduler, and supports our faster parallel scan algorithms. The new setup of Accelerate for the CPU is now mostly working, and I am implementing this on GPUs as well.
Publications
Scheduling Task and Data Parallelism in Array Languages with Work Assisting
De Wolff, I. G., Van Balen, D. & Keller, G., To Appear
Comparing Parallel Functional Array Languages: Programming and Performance
Van Balen, D., De Matteis, T., Grelck, C., Henriksen, T., Hsu, A. W., Keller, G., Koopman, T., McDonell, T. L., Oancea, C., Scholz, S.-B., Šinkarovs, A., Smeding, T., Trinder, P., De Wolff, I. G. & Ziogas, A. N., 13 May 2025, Preprint
A Fast Wait-Free Solution to Read-Reclaim Races in Reference Counting
De Wolff, I. G., Anderson, D., Keller, G. K. & Seletskiy, A., 26 Aug 2024, Euro-Par 2024: Parallel Processing - 30th European Conference on Parallel and Distributed Processing, Proceedings.
Fusing Gathers with Integer Linear Programming
Van Balen, D., Keller, G., De Wolff, I. G. & McDonell, T. L., 28 Aug 2024, FProPer 2024: Proceedings of the 1st ACM SIGPLAN International Workshop on Functional Programming for Productivity and Performance, Co-located with: ICFP 2024
Work Assisting: Linking Task-Parallel Work Stealing with Data-Parallel Self Scheduling
De Wolff, I. G. & Keller, G., 20 Jun 2024, ARRAY 2024: Proceedings of the 10th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming
Zero-Overhead Parallel Scans for Multi-Core CPUs
De Wolff, I. G., Van Balen, D., Keller, G. & McDonell, T. L., 6 Mar 2024, PMAM 2024: Proceedings of the 15th International Workshop on Programming Models and Applications for Multicores and Manycores
Accelerating nested data parallelism: Preserving regularity
Van den Haak, L. B., McDonell, T. L., Keller, G. K. & De Wolff, I. G., 2020, Euro-Par 2020: Parallel Processing - 26th International Conference on Parallel and Distributed Computing
Refining types using type guards in TypeScript
De Wolff, I. G., Hage, J., Jan 2017, PEPM 2017: Proceedings of the 2017 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation