【发布时间】:2015-07-08 15:40:41
【问题描述】:
在我熟悉 Python (numba lib) 中的 CUDA 期间,我实现了矩阵提供方法:
- 只需
numpy.dot() - Strassen 算法与
numpy.dot() - GPU 上的块方法
- GPU 上的 Strassen 算法
所以我在 2 种类型的数据上对其进行了测试:
numpy.random.randint(0, 5, (N, N)) # with int32 elementsnumpy.random.random((N, N)) # with float64 elements
对于 int32,我获得了预期的结果,其中我的 GPU 算法的性能优于带有 numpy 的 CPU:
但是,在 float64 类型上,numpy.dot() 的性能优于我所有的 GPU 方法:
所以,问题是:
为什么 numpy.dot() 使用 float64 数组会这么快,numpy 是否使用 GPU?
【问题讨论】:
标签: python performance numpy matrix-multiplication