【问题标题】:Can I link numpy with AMD's gpu accelerated blas library我可以将 numpy 与 AMD 的 gpu 加速 blas 库链接吗
【发布时间】:2013-05-18 22:19:27
【问题描述】:

我发现 numpy 可以与 blas 链接,我想到了为什么不使用 gpu 加速的 blas 库。

有人这样做过吗?

【问题讨论】:

    标签: python numpy opencl gpgpu


    【解决方案1】:

    更新 (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

    【讨论】:

      【解决方案2】:

      如果内存服务器,至少 pyCuda,pyOpenCL 可能也可以与 numPy 一起工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-25
        • 1970-01-01
        相关资源
        最近更新 更多