Package: wnpp Severity: wishlist * Package name : keops Version : 1.4.2 * URL : https://github.com/getkeops/keops * License : MIT Programming Lang: C++, Cuda Description : Kernel Operations on the GPU, with autodiff, without memory overflows
The KeOps library lets you compute generic reductions of very large arrays whose entries are given by a mathematical formula. It combines a tiled reduction scheme with an automatic differentiation engine, and can be used through Matlab, Python (NumPy or PyTorch) or R backends. It is perfectly suited to the computation of Kernel matrix-vector products and the associated gradients, even when the full kernel matrix does not fit into the GPU memory. --- I am particularly interested in the python interface (PyKeOps). While this package requires cuda so it can work on the GPU, it also has a useful CPU mode that is usable in 100% free software. I don't know how easy/hard it would be to split between main, contrib (and non-free?) though. The python GPU mode requires some suitable versions of pytorch (new versions of pytorch sometimes break it), and a C++ compiler compatible with cuda (which usually means 1 or 2 versions older than current in debian), so it is helpful if packaging ensures a working combination of packages. I use pykeops directly, but it is also a dependency for other useful packages like geomloss (http://www.kernel-operations.io/geomloss/). I am not planning on packaging it myself, sorry.