Search papers, labs, and topics across Lattice.
This paper explores the implementation of a resource-constrained virtual machine (Uxn) on GPU to combat software bloat by enforcing strict resource limits on programmers. By leveraging GPU data parallelism through an OpenMP-style parallelism API for Uxntal, the authors demonstrate significant performance improvements, achieving a 19x speedup on the Stencil benchmark and a 7x increase in frame rate on the Bunnymark benchmark. The findings indicate that even integrated GPUs in common devices can effectively execute frugal workloads, making this approach widely applicable.
Achieving up to 19x performance improvements on resource-constrained workloads by harnessing the power of GPUs could redefine how we approach software efficiency.
One of the main reasons compute hardware becomes obsolete is software bloat: resource requirements increase for every iteration of a software product. Resource constrained VMs are one way to combat software bloat as they post a hard limit on the resources and so force the programmer to be frugal. In this paper we explore the deployment of one such resource constrained VM, Uxn, on GPU. We show that for competitive performance it is essential to make use of the GPU data parallelism. We present an OpenMP-style parallelism API for Uxntal, the stack-based assembly-style language for the Uxn platform. We demonstrate that exemplar code using our API can run at comparable performance even on an integrated GPU. Specifically, our evaluation results show that using this approach improves performance on the compute-intensive Stencil benchmark with 19x and frame rate on the graphics-intensive Bunnymark benchmark with 7x. In practice, all laptops and desktops and even mobile devices have a GPU and our work shows that they can be used to execute frugal workloads effectively.