用户
 找回密码
 立即注册
maifen 该用户已被删除
发表于 2013-7-4 12:55:43
68105
请问各位:数据规模与加速比之间是一个什么样的变化关系?如果数据规模大道一定程度,加速比是不是不怎么变化了呢?非常感谢~~
使用道具 举报 回复
发表于 2013-7-4 13:25:42
楼主您好:

一般说数据较大较好,较小反而不容易体现出速度(因为各种开销和您的实际计算比起来份额较大了)。
(而不是您想象的,越大越无速度)

因为这个问题过大,过抽象,过玄,
您的帖子将被移动到灌水专区。
使用道具 举报 回复 支持 反对
发表于 2013-7-4 15:40:42
横扫千军 发表于 2013-7-4 13:25
楼主您好:

一般说数据较大较好,较小反而不容易体现出速度(因为各种开销和您的实际计算比起来份额较大了 ...

问题是如果需要的计算超过了硬件所具备的计算资源,在GPU上实际也变成了轮流占有SM的串行执行方式,这样的话,加速比会不会遇到了一个瓶颈呢?非常感谢~~
使用道具 举报 回复 支持 反对
发表于 2013-7-4 17:15:34
maifen 发表于 2013-7-4 15:40
问题是如果需要的计算超过了硬件所具备的计算资源,在GPU上实际也变成了轮流占有SM的串行执行方式,这样 ...

显然不会,

如果您的算法只占用一个SM(假设该卡10个SM), 显然最多只能发挥出10%的显卡的峰值性能。
如果占用2个SM, 理论可以发挥20%。
占用了10个都装不下的kernel, 此时将总是使用这10个SM, 理论可以始终100%。

怎么可能会占用越多加速比越少呢。您觉得呢?
使用道具 举报 回复 支持 反对
发表于 2013-7-4 19:56:33
横扫千军 发表于 2013-7-4 17:15
显然不会,

如果您的算法只占用一个SM(假设该卡10个SM), 显然最多只能发挥出10%的显卡的峰值性能。

这么说吧,如果有10个SM,我的程序占有1个,那么此时我的加速比(跟串行CPU相比)确实不是最高,如果我的程序占有10个SM,或者20个,那么此时SM利用率达到最大,这时候,加速比会非常好,但是,如果我的程序需要1000个呢?这个时候跟占有20个SM的计算规模相比,对CPU串行执行方式的加速比会好很多吗?再次感谢您的回答~~~
使用道具 举报 回复 支持 反对
发表于 2013-7-5 10:32:25
maifen 发表于 2013-7-4 19:56
这么说吧,如果有10个SM,我的程序占有1个,那么此时我的加速比(跟串行CPU相比)确实不是最高,如果我的 ...

此时您的GPU利用率依然保持最大状态,您的GPU将全负荷为您工作。您的加速比也依然保持在最佳状态,只是无法进一步线性上升而已,因为您的硬件已经跑满。

换句话说,如果您的程序需要1000个SM,那么和您的程序需要20个SM的时候加速比是一样的,并不会继续上升50倍,但都已经保持在最佳加速比状态,因为您的硬件已经处于满载状态。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册