GPU上的内核操作,带Autodiff,无内存溢出
本杰明·查利尔(Benjamin Charlier)、让·费迪(Jean Feydy)、琼·阿列克西斯·格拉内斯(Joan Alexis Glaunès)、弗朗索瓦斯·达维德·科林(Francois-Duid Collin)、吉斯兰·杜里夫; 22(74):1−6, 2021.
摘要
KeOps库为张量(其条目由数学公式给出,如核矩阵和距离矩阵)提供了快速且节省内存的GPU支持。KeOps缓解了内核和几何应用程序中以张量为中心的库的主要瓶颈:内存消耗。它还支持自动区分,性能优于标准GPU基线,包括PyTorch CUDA张量或Halide和TVM库。KeOps将优化的C++/CUDA方案与高级语言的绑定器相结合:Python(Numpy和PyTorch)、Matlab和GNU R。因此,高级“二次”代码现在可以扩展到大数据集,在几秒钟内处理数百万个样本。KeOps为内核方法带来了类似图形的性能,并且可以在标准存储库(PyPi、CRAN)上免费获得。为了展示其多功能性,我们在www.kernel-operations.io上提供了各种设置的在线教程。
[腹肌]
[pdf格式][围兜] [代码]