arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2004.11127cs.LG
收藏

GPU上的内核操作,使用自动区分,无内存溢出

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

Université de Montpellier(蒙彼利埃大学);École Normale Supérieure(巴黎高等师范学院);Université de Paris(巴黎大学)

Benjamin Charlier, Jean Feydy, Joan Alexis Glaunès, François-David Collin, Ghislain Durif

摘要:

KeOps库为张量提供了快速且内存高效的GPU支持,张量的条目由数学公式给出,例如内核和距离矩阵。KeOps解决了以张量为中心的库在内核和几何应用中的主要瓶颈:内存消耗。它还支持自动微分,性能优于标准GPU基线,包括PyTorch CUDA张量或Halide和TVM库。KeOps将优化的C++/CUDA方案与用于高级语言的绑定器相结合:Python(Numpy和PyTorch)、Matlab和GNU R。因此,高级“二次”代码现在可以扩展到大型数据集,在几秒钟内处理数百万个样本。KeOps为内核方法带来了类似图形的性能,并且可以在标准存储库(PyPi,CRAN)上免费获得。为了展示其多功能性,我们在\url{www.kernel-operations.io}上提供了各种设置的在线教程。

英文摘要:

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}.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑