在开普勒K20Xm上的双精度单元(DPU)上

时间:2013-12-09 13:35:21

标签: cuda double kepler

根据Kepler architecture whitepaper,SMX拥有192个CUDA核心和64双精度单位(DPU)。对于K20Xm,14核心总共有2688个SMX,这意味着只计算CUDA核心。那么DPU的用途到底是什么以及它们与核心的使用有何关系?

我的想法:

a)CUDA核心不能进行双精度操作,只能使用DPU。因此,当DPU忙时,CUDA核心可以免费用于其他内容。

b)CUDA内核在某种程度上需要双精度单元才能进行双精度操作,因此只有128个CUDA内核的192可用于其他内容。

干杯 岸堤

1 个答案:

答案 0 :(得分:2)

双精度单元实际上是单独的硬件浮点单元,可进行双精度算术运算。它们独立于“cuda核心”,粗略地说,它可以被认为是单精度单位。

因此,对于单精度算术,可以基于“cuda核心”或单精度单位计算吞吐量。对于双精度算术,必须根据双精度单位计算吞吐量。

在Kepler K20 SMX中,ratio of double-precision units to single precision units为1:3。因此,每种算术的吞吐量遵循相同的比率。 “算术”我指的是浮点乘法或浮点数。