Python CUDA并行化了多个小型矩阵的SVD

问题描述

我在stackoverflow上看到过类似的文章,它解决了C ++中的问题:Parallel implementation for multiple SVDs using CUDA 我想在python中做完全一样的事情,这可能吗?我有多个矩阵(大小为15x3的矩阵大约为8000),每个矩阵我都想使用SVD分解。这在cpu上花费数年。可以在python中做到吗?我的计算机安装了NVIDIA GPU。我已经看过几个库,例如numba,pycuda,scikit-cuda,cupy,但是没有找到使用该库实现我的计划的方法。我会很高兴获得帮助。

解决方法

cuPy可以访问cuSolver,包括SVD:

https://docs.cupy.dev/en/stable/reference/generated/cupy.linalg.svd.html