Fusing Gathers with Integer Linear Programming
<|reference_start|>Fusing Gathers with Integer Linear Programming: We present an Integer Linear Programming based approach to finding the optimal fusion strategy for combinator-based parallel programs. While combinator-based languages or libraries provide a convenient interface for programming parallel hardware, fusing combinators to more complex operations is essential to achieve the desired performance. Our approach is not only suitable for languages with the usual map, fold, scan, indexing and scatter operations, but also gather operations, which access arrays in arbitrary order, and therefore goes beyond the traditional producer-consumer fusion. It can be parametrised with appropriate cost functions, and is fast enough to be suitable for just-in-time compilation.<|reference_end|>
@article{van balen2024fusing,
    title={Fusing Gathers with Integer Linear Programming},
    author={David van Balen, Gabriele Keller, Ivo Gabede Wolff, Trevor L. McDonell},
    journal={arXiv preprint arXiv:2407.13585},
    year={2024},
    doi={10.1145/3677997.3678227},
    archivePrefix={arXiv},
    eprint={2407.13585},
    primaryClass={cs.PL}
}