Search papers, labs, and topics across Lattice.
This paper introduces the await_delete construct, which enhances traditional future semantics by allowing safe value reuse in parallel workloads, addressing the limitations of value-immutability in futures. The authors apply this construct to develop a future-based algorithm for block-wise inversion of dense, symmetric matrices, inspired by conservation laws in dynamical systems. Experimental results reveal that while futures have overhead for smaller problems, they achieve nearly linear scaling for large matrices, establishing their viability for high-performance linear algebra applications.
Futures can now support high-performance linear algebra by safely reusing values, overcoming immutability constraints.
As parallel workloads grow in complexity, managing fine-grained data dependencies becomes a critical challenge. Futures offer a promising model for handling these dependencies, particularly in irregular algorithms, but they also come with the restriction of value-immutability. This immutability limits the ability to perform in-place memory updates, a necessity for high-performance linear algebra where memory recycling is paramount. In this paper, we address these limitations by introducing a new construct, await_delete, which extends traditional future semantics to allow safe value reuse once consumers are finished. Building on this extension, we present a novel future-based algorithm for the block-wise inversion of dense, symmetric matrices, motivated by a recent algorithm for finding conservation laws of dynamical systems. We implement our approach in an extended version of Taskflow and evaluate it through strong-scaling experiments. Our results demonstrate that while futures incur significant overhead on smaller problem sizes, they achieve nearly linear scaling on large matrices. We analyze the amortization threshold and show that futures are a viable high-performance tool for large-scale linear algebra.