Term Rewriting on GPUs
Johri van Eerd, Jan Friso Groote, Pieter Hijma, Jan Martens, Anton, Wijs

TL;DR
This paper demonstrates a method for implementing term rewriting on GPUs, leveraging parallelism to outperform CPUs when systems exhibit sufficient internal parallelism, and explores future potential for GPU programming via term rewriting.
Contribution
The paper introduces a GPU-based implementation of term rewriting that exploits parallelism, showing significant performance improvements over CPU implementations.
Findings
GPU rewriting outperforms CPU when systems have high parallelism
Potential for further optimization of GPU term rewriting
Term rewriting can serve as a universal programming language for GPUs
Abstract
We present a way to implement term rewriting on a GPU. We do this by letting the GPU repeatedly perform a massively parallel evaluation of all subterms. We find that if the term rewrite systems exhibit sufficient internal parallelism, GPU rewriting substantially outperforms the CPU. Since we expect that our implementation can be further optimized, and because in any case GPUs will become much more powerful in the future, this suggests that GPUs are an interesting platform for term rewriting. As term rewriting can be viewed as a universal programming language, this also opens a route towards programming GPUs by term rewriting, especially for irregular computations.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
