gpu相关内容,带宽,显存,填充率等

本文深入解析显卡关键性能指标,包括显存位宽、显存带宽、像素填充率、材质填充率等,阐述其计算原理及对显卡性能的影响,并介绍了TBDR技术及其优势。
部署运行你感兴趣的模型镜像

 

1、

bus width:显存位宽

bandwidth:显存带宽

显存位宽 * 显存频率 / 8 = 显存带宽

以740显卡为例

显存位宽是128bit,显存频率是5Gbps

显存带宽就是80GB/s

计算显存带宽时要留意显存类型(Memory Type),对于GDDR1/2/3/4显存,其数据总线都是采用的DDR技术(通过差分时钟在上升沿和下降沿都进行数据传输,其一个周期传输两次数据,相当于SDRAM频率的2倍),故其显存等效频率=显存频率×2;而GDDR5则不同,它有两条数据总线,相当于Rambus的QDR技术,传输能力相当于SDRAM频率的4倍,所以显存等效频率=显存频率×4.

上面的5Gbps就是1250*4得来的

2、pixel fillrate

像素填充率

现阶段的显卡都是非统一架构的,也就是分为顶点渲染和像素渲染。那么在显示核心的内部就分为两大区域,一个区域就是顶点渲染单元(也叫顶点着色或顶点着色引擎),主要负责描绘图形,也就是建立模形。一个就是像素渲染管线(也叫像素渲染管道),主要负责把顶点绘出的图形填上填色。然后再加上纹理贴图单元贴上纹理,一个精美的图形就出来了。

像素填充率是指图形处理单元在每秒内所渲染的像素数量,单位是MPixel/S(每秒百万像素),或者GPixel/S(每秒十亿像素),是用来度量当前显卡的像素处理性能的最常用指标。GPU-Z上是那个

 

他的计算方式是:显示核心的渲染管线数量 * 核心频率

ROP * clock = 16 * 1072

ROP用来反锯齿处理,是render的最后一步,单元数量越多越好

3、texture fillrate

材质填充率

核心频率 * 像素渲染管线数量* 纹理贴图单元数量

 

TMUs * clock = 1072 * 32,其中纹理贴图单元数量为2

4、

显存 VM video memory

集显用的是内存的一部分,一般会分256MB或者512MB,还有另外一种独显,独显有自己的VM

5、

光栅处理单元

ROP

6、TBDR(转个人学习用)

作者:Vinjn张静

链接:https://www.zhihu.com/question/29263330/answer/43924233

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

TBDR = Tile-Based Deferred Rendering,包含两点:

TB,基于格子的渲染,把屏幕分成一个个小格子,以小格子为单位并行处理。有啥好处呢,因为格子小,所需要的 color buffer 和 depth buffer 也小,那么可以通通塞进缓存里。缓存的优点是飞一样的话,然后省电,也降低了带宽的消耗。总之就是好好好,适合手机。

 

DR,延迟渲染,基本概念是只对玩家能看到到像素调用 pixel shader。怎么才能知道玩家看的到呢?自然是通过比较 depth value,也就是在进入 pixel shader 之前就得到最终展示在屏幕上的像素的 depth value。优点大大的,可以减少不必要的 pixel shader 调用次数,也就是提速 + 省电。

DR 这块该公司特意申请了专利的,牛!

5,ppi和分辨率

ppi是每英尺的像素数,计算公式为如下,分子为斜方向上像素个数,分母为英尺大小,英尺是按斜边算的。

分辨率则是分子的x,y,如1920,1080

 

您可能感兴趣的与本文相关的镜像

Wan2.2-I2V-A14B

Wan2.2-I2V-A14B

图生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

### 多GPU显存占用高但利用率低的原因 在深度学习任务中,当观察到多个GPU显存占用较高而利用率较低时,通常涉及以下几个方面的原因: #### 1. **数据加载速度不足** 如果`Dataloader`中的`num_workers`设置过低,可能导致CPU的数据预处理能力无法满足GPU的需求。这使得GPU大部分时间处于等待状态,从而导致利用率低下[^5]。 #### 2. **内存访问模式不优** 显卡性能受内存访问模式影响显著。非连续的内存访问会增加延迟并降低带宽利用效率。此外,频繁访问全局内存而非共享内存也会加剧这一问题[^3]。 #### 3. **批大小(Batch Size)不合适** 较小的批大小虽然能减少显存消耗,但也可能使计算资源得不到充分利用。这是因为现代GPU架构设计倾向于大规模并行运算,在小批量情况下难以发挥其优势[^1]。 #### 4. **模型复杂度与硬件匹配不当** 某些模型结构可能存在大量轻量级操作或控制流分支,这些特性不适合高度并行化的GPU执行环境,进而造成资源浪费[^4]。 ### 解决方案 针对上述原因,可采取如下措施提升多GPU场景下的整体效能: #### 调整数据管道配置 合理设定`Dataloader`参数,特别是将`num_workers`调整至接近于系统可用CPU核心数量的一半左右,并启用`pin_memory=True`选项以加速主机到设备间的数据传递过程[^2]。 #### 优化存储子系统交互方式 重构代码逻辑以便更多采用连续区块式的访存策略;对于重复使用的中间结果考虑缓存在本地快速暂存区(shared memory)内而不是每次都重新从远程较慢位置(global memory)获取。 #### 修改训练超参组合 尝试增大batch size直至达到合理的平衡点——既能有效填充所有SM单元又能维持足够的剩余空间用于其他必要开销如梯度累积等。 #### 审视网络定义细节 检查是否存在过多串行依赖关系的操作节点以及不必要的条件判断语句,尽可能简化拓扑连接形式使之更加适合当前所选用的具体型号规格之特点。 通过综合运用以上几种手段往往能够显著改善实际运行效果。 ```python import torch from torch.utils.data import DataLoader, Dataset class CustomDataset(Dataset): def __init__(self, data): self.data = data def __len__(self): return len(self.data) def __getitem__(self, idx): sample = self.data[idx] # Add any necessary preprocessing here return sample dataset = CustomDataset(your_data) # Optimize dataloader settings data_loader = DataLoader( dataset, batch_size=your_optimal_batch_size, shuffle=True, num_workers=min(16, os.cpu_count()), # Adjust based on your system's CPU core count pin_memory=True # Enable pinned (page-locked) memory to speed up host-to-device transfers ) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值