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

By Benjamin Charlier, Jean Feydy, Joan Alexis Glaunès, François-David Collin, G. Durif. 2020

222 citations recorded by the source corpus.

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{this http URL}.

Subfields: Optimization & Training

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Optimization & Training

  1. Stefano Ermon
  2. Christopher R'e
  3. Bruno E. Correia
  4. Freyr Sverrisson
  5. Tri Dao
  6. Atri Rudra
  7. Michael M. Bronstein
  8. Jean Feydy

Citations in the corpus