The Continuous Tensor Abstraction: Where Indices are Real
<|reference_start|>The Continuous Tensor Abstraction: Where Indices are Real: This paper introduces the continuous tensor abstraction, allowing indices to take real-number values (e.g., A[3.14]), and provides a continuous loop construct that iterates over the infinitely large set of real numbers. This paper expands the existing tensor abstraction to include continuous tensors that exhibit a piecewise-constant property, enabling the transformation of an infinite amount of computation into a finite amount. Additionally, we present a new tensor format abstraction for storing continuous tensors and a code generation technique that automatically generates kernels for the continuous tensor abstraction. Our approach introduces a novel method for loop-level reasoning in domains like computational geometry and computer graphics, traditionally unexplored in tensor programming models. Our approach demonstrates comparable performance to hand-optimized kernels in leading libraries across diverse applications. Compared to hand-implemented libraries on a CPU, our compiler-based implementation achieves an average speedup of 9.20x on 2D radius search with ~100x fewer lines of code (LoC), 1.22x on genomic interval overlapping queries (with ~26x LoC saving), and 1.69x on trilinear interpolation in Neural Radiance Field (with ~9x LoC saving).<|reference_end|>
@article{won2024the,
    title={The Continuous Tensor Abstraction: Where Indices are Real},
    author={Jaeyeon Won, Willow Ahrens, Joel S. Emer, Saman Amarasinghe},
    journal={arXiv preprint arXiv:2407.01742},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.01742},
    primaryClass={cs.PL}
}