English

Kernel Operations on the GPU, with Autodiff, without Memory Overflows

Machine Learning 2021-04-10 v2

Abstract

The KeOps library provides a fast and memory-efficient GPU support for tensors whose entries are given by a mathematical formula, such as kernel and distance matrices. KeOps alleviates the major bottleneck of tensor-centric libraries for kernel and geometric applications: memory consumption. It also supports automatic differentiation and outperforms standard GPU baselines, including PyTorch CUDA tensors or the Halide and TVM libraries. KeOps combines optimized C++/CUDA schemes with binders for high-level languages: Python (Numpy and PyTorch), Matlab and GNU R. As a result, high-level "quadratic" codes can now scale up to large data sets with millions of samples processed in seconds. KeOps brings graphics-like performances for kernel methods and is freely available on standard repositories (PyPi, CRAN). To showcase its versatility, we provide tutorials in a wide range of settings online at \url{www.kernel-operations.io}.

Keywords

Cite

@article{arxiv.2004.11127,
  title  = {Kernel Operations on the GPU, with Autodiff, without Memory Overflows},
  author = {Benjamin Charlier and Jean Feydy and Joan Alexis Glaunès and François-David Collin and Ghislain Durif},
  journal= {arXiv preprint arXiv:2004.11127},
  year   = {2021}
}

Comments

6 pages

R2 v1 2026-06-23T15:03:04.159Z