技术美术个人笔记(十)——GPU入门(下)

本文详细探讨了GPU的工作原理,包括与CPU的协作、缓存机制、渲染流程、Early-Z技术、SIMD和SIMT的概念,以及GPU并行处理、硬件架构和优化策略。特别强调了GPU渲染效率的影响因素,如顶点着色器、像素着色器的处理单位,以及如何通过减少过绘制和优化Shader提升性能。
摘要由CSDN通过智能技术生成

学习原文:深入GPU硬件架构及运行机制

注: 像素网格被分成2*2的像素组,称为quad; 且一般来说,TILE的大小为32x32或者16x16像素。—— 基于TILE的渲染

拓展笔记:随手笔记Real-time rendering Chapter 23

GPU是显卡(Video card、Display card、Graphics card)最核心的部件,但除了GPU,显卡还有扇热器、通讯元件、与主板和显示器连接的各类插槽。

本章学习解答问题:

1、GPU是如何与CPU协调工作的?

CPU读取原始数据,计算顶点数据信息等,将数据放在内存中,要渲染的命令通过驱动程序分批次发给GPU执行(发出DrawCall指令),GPU根据指令拷贝数据到显存,对收到的顶点信息及原始数据在屏幕上进行绘制操作;

2、GPU也有缓存机制吗?有几层?它们的速度差异多少?

部分架构的GPU与CPU类似,也有多级缓存结构:寄存器、L1缓存、L2缓存、GPU显存、系统显存。

img

存储类型 寄存器 共享内存 L1缓存 L2缓存 纹理、常量缓存 全局内存
访问周期 1 1~32 1~32 32~64 400~600 400~600

这种架构的特点是ALU多,GPU上下文(Context)多,吞吐量高,依赖高带宽与系统内存交换数据。

3、GPU的渲染流程有哪些阶段?它们的功能分别是什么?

GPU逻辑管线

【大致总结成顶点着色器、裁剪剔除、像素着色器、深度测试及混合的工作】

1.程序通过图形API发出drawcall指令,驱动程序检查指令合法性后发送到GPU可读取的Pushbuffer中;

2.一段时间或显式调用flush时,驱动程序把Pushbuffer的内容一起发给GPU,GPU通过Host接口接收,用前端Front End处理这些命令;

3.图元分配器中开始工作分配, 处理indexbuffer中的顶点, 产生三角形分成批次(batches),然后发送给多个相应的PGCs处理。

4.在GPC中,每个SM中的Poly Morph Engine负责通过三角形索引(triangle indices)取出三角形的数据(vertex data);

5.Warp是典型的单指令多线程(多个指令同时执行相同指令)的实现; 在获取数据之后,在SM中以32个线程为一组的线程束(Warp)来调度,来开始处理顶点数据。;

6.SM的warp调度器会按照顺序分发指令给整个warp,单个warp中的线程会锁步(lock-step)执行各自的指令,如果线程碰到不激活执行的情况也会被遮掩(be masked out)。;

7.warp中的指令可能被一次完成也可能经过多次调度;

8.某些指令比如内存加载耗时较长时,warp调度器可能会切换到其他的warp;为了加快切换&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值