使用matlab从GPU获得什么性能?

Oli*_*Oli 5 matlab cuda gpu

我正在考虑向我的老板请求一个好的GPU,以便用matlab并行处理工具箱进行计算.但是,在同事的计算机上对NVidia Quadro 600进行了一些简单的测试后,我的性能提升非常差(1x到2x之间).

我特别感兴趣的是对nd数组进行卷积.

有人有类似的经历,做计算gpuArray等等吗?

我可以期待什么样的性能提升?

我应该买什么GPU型号(低于1000美元,希望低于400美元)?

Edr*_*ric 2

MATLAB 中的性能gpuArray由以下几个因素驱动:

  • 首先你的问题是否在 GPU 上运行良好
  • 您的设备中有多少个 CUDA 核心,一般来说越多越好
  • 是否使用具有增强双精度性能的设备(例如计算能力 >= 2 的最新 Quadro/Tesla 设备)
  • 您使用的是哪个版本的 MATLAB - R2011b 的性能明显优于 R2010b。

以下是优秀的“Walking Randomly”博客上的一些基准示例:http://www.walkingrandomly.com/? p=3634 。这些显示了人们在合理的应用中可能期望的加速类型 - 即大约 5 倍到 10 倍是合理的,远多于罕见的加速。

(如果您想查看这些罕见的示例之一,Mandelbrot 设置在使用gpuArrays 编程的 GPU 上,arrayfun运行速度比 CPU 快约 1500 倍:http://www.mathworks.com/products/demos/parallel-computing/ paralleldemo_gpu_mandelbrot/paralleldemo_gpu_mandelbrot.html?product=DW )