matlab - 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*256
or 128*128
,但不会注意到性能增强。新的时代来临了0.9*x milliseconds
。
这种行为是意料之中的,因为根据 AFAIK,较小的阵列将无法充分利用 GPU,并且许多内核将处于空闲状态。所以,这里没有真正的收获。
我的问题:
如果我购买了更好的 GPU,例如 1080ti 或新的 2080ti(现在似乎不可用),我会获得真正的性能提升吗?我的意思是,因为我什至没有使用整个 1060 功能,所以更好的 GPU 会产生真正的影响吗?
我认为时钟速度可能会有所不同。但是,我不确定这种增强会有多大意义。
更好的 GPU 的一个好处是更大的内存,它可以让我在 1024*1024 上进行处理(我在 1060 GPU 上做不到)。然而,这不是我主要关心的问题。
解决方案
推荐阅读
- heroku - 我一直在尝试升级我的 heroku postgres 数据库,但我不断收到类型错误
- scala - 如何简洁地在foreach中编写Future方法
- sql - 在oracle apex中根据穿梭选择多个值
- ftp - 在 mule 4 中使用 http 代理的 Ftp
- python - 将pdf批量转换为txt文件?
- android - 如何将人脸生物特征保存为视频 Flutter
- apache-spark - 使用 PySpark 修改 Struct 列内的嵌套属性
- python - 我想用python在普通窗口中打开cmd
- google-cloud-platform - 如何从 Digital Ocean Spaces 下载/迁移多个文件到 GCP Cloud Storage?
- c++ - SFML - 未能创建字体