我可以将numpy与AMD的gpu加速blas库链接

时间:2013-05-18 22:19:28

标签: python numpy opencl gpgpu

我重新调整了numpy可以与blas链接,我想到了为什么不使用gpu加速blas库。

有没有人这样做?

2 个答案:

答案 0 :(得分:5)

更新(2014-05-22)

AMD已经制作了AMD核心数学库(ACML)6.0版的测试版,可以通过内部使用clMath将FFT和BLAS功能卸载到GPU。公告在这里:ACML Beta 6.0 Release Leverages the Power of Heterogeneous Compute。需要注意的是,输入数据必须从CPU传输到GPU,输出数据在每个 BLAS或FFT调用时返回到CPU。因此,当问题足够大以至于ACML将使用GPU而不是CPU时,AMD有一堆用于调优的脚本。

为了完整起见,我还要提到Nvidia支持与其nvBLAS库类似的功能,但它依赖于cuBLAS和CUDA,因此除了Nvidia GPU之外它不会起作用。


原始回答

不幸的是,AMD的GPU加速BLAS库无法直接链接到Numpy或任何其他期望基于CPU的标准BLAS库的应用程序。原因是现有的GPU BLAS库都要求在调用BLAS函数之前首先将矩阵复制到GPU。这需要有人修改Numpy来进行复制。

编辑: CLyther看起来可以取代Numpy所做的一些事情并将所有内容转换为OpenCL。见这里:http://srossross.github.io/Clyther/for_numpy_users.html

答案 1 :(得分:0)

如果是内存服务器,至少pyCuda,可能还有pyOpenCL可以使用numPy