gpuArray
等计算吗?
我可以期望什么性能提升?
我应该购买哪个GPU型号(价格低于1000美元,希望低于400美元)?
gpuArray
在MATLAB中的性能受到几个因素的影响:
gpuArray
和arrayfun
编程的GPU上的Mandelbrot集合比CPU快约1500倍: http://www.mathworks.com/products/demos/parallel-computing/paralleldemo_gpu_mandelbrot/paralleldemo_gpu_mandelbrot.html?product=DW)
我目前正在研究同样的话题。我看到的一件事是,低端和中端的显卡是为游戏而设计的,因此针对FP32性能进行了优化。它们的FP64性能因此显著滞后,这可能是你所看到的。 1000美元的GTX Titan似乎是进行严肃科学计算的起点。
Quadro 400只有48个核心,而GeForce 480有480个核心,GeForce 580有512个核心。这两者的时钟速度也更高,因此当内存访问不是限制因素时,您可以期望获得超过10倍的性能提升。
我没有使用GPU来加速MATLAB,但我每天都使用PC进行GPU(CUDA)开发。其中一个拥有Quadro FX5800 + GeForce 480,另一个拥有GeForce 580。据我所知,您将无法从工作站卡中获得任何好处,与GeForce相比。因此,节省一些$$$并获得GF480或GF580。
这个线程似乎有一个CUDA加速的conv函数,速度快了50倍: http://www.mathworks.com/matlabcentral/fileexchange/20220 我不确定MATLAB现在默认具备什么功能。
希望这有所帮助! GPU可以很好地加速许多任务。但是,性能提升可能需要一些追逐。
convn
和conv2
。 - OligpuArray
。如果您的内核大于~20x20,使用这种方式进行卷积可以获得很多好处(无论是否使用GPU)。 - reve_etrange