根据开普勒结构白皮书,SMX有192 CUDA核和64双精度单元(DPU)。对于一个K20Xm,在2688核上总共有14 SMX,这意味着只有CUDA核被计算。那么DPU到底是用于什么用途的,它们的使用与核心有什么关系呢?
我的想法:
a) CUDA核心不能进行双精度操作,只有DPU才能做到。因此,在DPU忙的时候,CUDA核心是免费的。
( b) CUDA核心在某种程度上需要一个双精度单元来进行双精度操作,因此只有128的192 CUDA核可以用于其他工作。
干杯,安迪
发布于 2013-12-09 14:06:18
双精度单元实际上是做双精度运算的独立硬件浮点单元。它们是独立于“库达核心”的,粗略地说,它可以被认为是单精度单位。
因此,对于单精度算法,可以根据"cuda核“或单精度单元来计算吞吐量。对于双精度算法,必须根据双精度单元计算吞吐量。
在开普勒K20 SMX中,双精度单位与单精度单位之比是1:3,因此每种算法的吞吐量都是相同的。这里的“算术”是指浮点乘或浮点相加。
https://stackoverflow.com/questions/20471966
复制相似问题