POPPUR爱换

标题: Fermi和Kepler的峰值像素填充率由什么决定? [打印本页]

作者: Travis    时间: 2012-4-4 12:18
标题: Fermi和Kepler的峰值像素填充率由什么决定?
通常我们用GPU频率*ROP数量得到GPU的理论像素填充率在Fermi和Kepler架构上,像素填充率由什么限制?ROP?GPC数量?还是SM/SMX数量?
看来一开始GPU-Z的作者倾向于ROP,在最近的新版本当中则认为是SM数量。

参考链接:
http://www.techpowerup.com/forums/showthread.php?t=155459
里面还引用了B3D和hardware.fr的文章。

作者: Edison    时间: 2012-4-4 12:21
SM*2*GPU Host clock = peak pixel fill rate。
作者: PS5    时间: 2012-4-4 12:29
本帖最后由 PS5 于 2012-4-4 12:31 编辑

就是不知道是像素填充率重要还是纹理填充率重要?而且也不知道像素填充率主要是干什么用的?
作者: Edison    时间: 2012-4-4 12:35
PS5 发表于 2012-4-4 12:29
就是不知道是像素填充率重要还是纹理填充率重要?而且也不知道像素填充率主要是干什么用的?

pixel fill rate 最初的定义就是反映每秒可以向帧缓存写入多少像素的能力,现在也包括了像素取样、混合、深度操作等性能。
作者: coollab    时间: 2012-4-4 12:36
Edison 发表于 2012-4-4 12:35
pixel fill rate 最初的定义就是反映每秒可以向帧缓存写入多少像素的能力,现在也包括了像素取样、混合、 ...

这个数值和显存方面的数据无关么?只是一个纯粹的理论吞吐量的计算?
作者: Edison    时间: 2012-4-4 12:42
coollab 发表于 2012-4-4 12:36
这个数值和显存方面的数据无关么?只是一个纯粹的理论吞吐量的计算?

你可以根据像素格式来计算不同 fill rate 下所需的带宽,例如一个 3*8bit component 的 pixel,就是 3 byte per pixel,要达到 1Gpixels per second,理论上就需要至少 3GB/s 的带宽。

作者: iamw2d    时间: 2012-4-4 12:43
Edison 发表于 2012-4-4 12:21
SM*2*GPU Host clock = peak pixel fill rate。

rop能达到的性能比这个低的时候也是算这个么?
作者: panjanstoneborg    时间: 2012-4-4 12:44
Edison 发表于 2012-4-4 12:21
SM*2*GPU Host clock = peak pixel fill rate。

这个是由什么决定的?
作者: Edison    时间: 2012-4-4 12:46
panjanstoneborg 发表于 2012-4-4 12:44
这个是由什么决定的?

NVIDIA 的 GPC 流水线就是这样设计的吧。
作者: coollab    时间: 2012-4-4 12:46
Edison 发表于 2012-4-4 12:42
你可以根据像素格式来计算不同 fill rate 下所需的带宽,例如一个 3*8bit component 的 pixel,就是 3 by ...

原来如此,半懂了
作者: panjanstoneborg    时间: 2012-4-4 13:06
Edison 发表于 2012-4-4 12:46
NVIDIA 的 GPC 流水线就是这样设计的吧。

既然有人问了,我也追问到底把
是gpc还是sm啊,是和sm数量有关系吧
有没有更细节的原因呢
作者: fengpc    时间: 2012-4-4 13:23
panjanstoneborg 发表于 2012-4-4 13:06
既然有人问了,我也追问到底把
是gpc还是sm啊,是和sm数量有关系吧
有没有更细节的原因呢

Fermi和Kepler的tex单元在sm(tpc)里面,可以去看架构图说得很清楚
作者: Edison    时间: 2012-4-4 13:33
和 L/S 或者 AGen 都没啥关系,主要是 Fermi 里 GPC 只能做到每个周期跑出 8 个片元的光栅化。
作者: panjanstoneborg    时间: 2012-4-4 13:38
Edison 发表于 2012-4-4 13:33
和 L/S 或者 AGen 都没啥关系,主要是 Fermi 里 GPC 只能做到每个周期跑出 8 个片元的光栅化。

进一步说是把这8个片元独立的(exclusively)分配给了4个不同的sm?


作者: Edison    时间: 2012-4-4 13:40
panjanstoneborg 发表于 2012-4-4 13:38
进一步说是把这8个片元独立的(exclusively)分配给了4个不同的sm?

就是这样。

单纯论 SM 的话,是有足够单元跑出每个周期 4 个 pixel(16 CUDA Core per 4 pixel)。
作者: Edison    时间: 2012-4-4 13:42
TA 相当于 address generation unit,TF 相当于 LSU,具体的架构不知道,就是类似于能单周期跑出的最宽纹理格式的样子吧。
作者: Travis    时间: 2012-4-4 13:44
那么对于一个GPC里部分屏蔽了SM的情况,例如GTX480、GTX460,每个GPC的像素填充率也会下降么?
到了Kepler里面,由于架构上和Fermi的诸多相似之处,是不是仍然遵循每个SMX每周期填充2个像素的规律?
作者: Edison    时间: 2012-4-4 13:46



作者: panjanstoneborg    时间: 2012-4-4 13:50
Edison 发表于 2012-4-4 13:40
就是这样。

单纯论 SM 的话,是有足够单元跑出每个周期 4 个 pixel(16 CUDA Core per 4 pixel)。

这个周期是指base clock的周期?能不能再进一步解释一下?
作者: Edison    时间: 2012-4-4 13:59
我记得除了 CUDA Core 外,其他都是跑在 base clock 上。
作者: panjanstoneborg    时间: 2012-4-4 15:27
Edison 发表于 2012-4-4 13:59
我记得除了 CUDA Core 外,其他都是跑在 base clock 上。

那这个每周期4像素是base的周期还是sp的周期,是sp的话那不是可以加倍?
作者: PS5    时间: 2012-4-5 09:54
Edison 发表于 2012-4-4 12:35
pixel fill rate 最初的定义就是反映每秒可以向帧缓存写入多少像素的能力,现在也包括了像素取样、混合、 ...

那为什么像素填充率总是没有纹理填充率高?
作者: panjanstoneborg    时间: 2012-4-9 22:45
对了,想问问在测这种32b或者16b整数的情况,机器内部是用什么精度跑的啊
作者: Edison    时间: 2012-4-9 22:59
ROP 应该是 10+bit 定点数或者 16+bit 浮点数吧。
作者: panjanstoneborg    时间: 2012-4-10 10:43
是每一个颜色分量都10+b定点数?
还是整个像素就只是32b 整数 或者16b在运算器里面跑?




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4