首页 > 解决方案 > GPU 加速预期

问题描述

我有一个代码可以对 3D 数组进行一些复杂的计算。代码经过优化,可在 GPU 上运行。3D 数组基本上是一组 2D 数组。每个都存储在 3D 数组的一页中。

为简单起见,让我们考虑整个代码是:

A = rand(512,512,100,'gpuArray');
B = fftshift(fftshift(fft2(fftshift(fftshift(A,1),2)),1),2); 

其中 512*512 是每个二维数组的维度,而 100 是这些二维数组的数量。

在 nVidia GTX 1060 上,需要x millisecond进行计算。

我尝试将 2D 数组大小更改为256*256or 128*128,但不会注意到性能增强。新的时代来临了0.9*x milliseconds

这种行为是意料之中的,因为根据 AFAIK,较小的阵列将无法充分利用 GPU,并且许多内核将处于空闲状态。所以,这里没有真正的收获。

我的问题:

如果我购买了更好的 GPU,例如 1080ti 或新的 2080ti(现在似乎不可用),我会获得真正的性能提升吗?我的意思是,因为我什至没有使用整个 1060 功能,所以更好的 GPU 会产生真正的影响吗?

我认为时钟速度可能会有所不同。但是,我不确定这种增强会有多大意义。

更好的 GPU 的一个好处是更大的内存,它可以让我在 1024*1024 上进行处理(我在 1060 GPU 上做不到)。然而,这不是我主要关心的问题。

标签: matlabgpu

解决方案


推荐阅读