首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java/Open CL/Aparapi:期望哪种设备具有什么样的性能?

Java/Open CL/Aparapi:期望哪种设备具有什么样的性能?
EN

Stack Overflow用户
提问于 2013-10-10 02:00:14
回答 2查看 1.3K关注 0票数 1

为了大致了解openCl对我有多大帮助,我对矩阵-矩阵乘法进行了测试,因为这种基本的线性代数将是我的主要用途。我使用的代码可以在这里找到:http://vasanthexperiments.wordpress.com/2011/11/20/aparapi-java-matrix-multiplication-example/。(1024*1024 x 1024*1024矩阵-矩阵乘积)

基本上,我对结果相当失望,因为与CPU上的串行计算相比,加速比只是微不足道的(小于x2),如果我让Aparapi使用CPU (它确实是并行化的),CPU甚至更快。

在执行过程中,显卡处于满负荷状态,因此我认为应该不会出现通信问题。

我的硬件配置:

i7 2670QM

AMD 7610M

16 RAM

因为我对GPGPU完全陌生,所以我不知道会发生什么。

  1. 是不是我的设置出了问题?如果是这样的话,我应该在哪里寻找?
  2. ,或者我只是对入门级显卡期望过高?如果是这样的话,不同型号的显卡是如何处理这种问题的?如果我想获得更快的硬件,我必须寻找哪些规格?

编辑:

好的,我刚刚用10x10矩阵重新运行了程序。

不出所料,CPU只需要不到1ms。

然而,图形处理器需要超过1600个,所以肯定是Aparapi或openCL或者我的硬件有问题(驱动程序应该是最新的)。有谁知道我应该去哪里看吗?

EN

回答 2

Stack Overflow用户

发布于 2013-10-12 04:18:11

您比较的部分问题是,您将低端移动GPU与良好的移动CPU进行比较。GPU的单精度速度大约是CPU的2倍,而它们的内存带宽是相似的。这是您要仔细查看的两个规范。

上一次我检查线性代数例程时,它们能够获得GPU峰值浮点速度的60%。所有当前AMD和Nvidia GPU的速度都列在维基百科herehere上。您还会希望使用较新的GPU而不是较旧的GPU。

票数 1
EN

Stack Overflow用户

发布于 2013-10-12 12:39:01

我使用AMD HD7850和Intel Corei7-2600K测试了C语言版本的example code。对于1024X1024的情况,高清7850 gpu需要42ms,而单线程cpu功能需要近7秒。

对于128X128,高清7850 gpu需要4.9ms,而单线程cpu功能只需要2.0ms。

因此,对于openCL算法可以产生足够的并行性来完全加载图形处理器的情况,HD7950GPU比单个CPU线程快得多。即使所有的CPU线程都被使用了,GPU对于大的矩阵仍然会更快。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19279344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档