从Shader编成入手了解GPU应用方案

Imagination Tech 2018-05-17 09:18 次阅读

Graphics Processing Unit(GPU),即可编程图形处理单元, 通常也称之为可编程图形硬件。

由于GPU有高并行结构(highly parallel structure),所以GPU在处理图形数据和复杂算法方面拥有比CPU更高的效率。图 1 GPU VS CPU 展示了 GPU 和 CPU 在结构上的差异,CPU 大部分面积为控制器和寄存器,与之相比,GPU拥有更多的 ALU(Arithmetic Logic Unit,逻辑运算单元)用于数据处理,而非数据高速缓存和流控制,这样的结构适合对密集型数据进行并行处理。CPU 执行计算任务时,一个时刻只处理一个数据,不存在真正意义上的并行,而 GPU 具有多个处理器核,在一个时刻可以并行处理多个数据。

GPU 采用流式并行计算模式,可对每个数据进行独立的并行计算,所谓“对 数据进行独立计算”,即,流内任意元素的计算不依赖于其它同类型数据,例如,计算一个顶点的世界位置坐标,不依赖于其他顶点的位置。而所谓“并行计算” 是指“多个数据可以同时被使用,多个数据并行运算的时间和 1 个数据单独执行的时间是一样的”。图 2 中代码目的是提取 2D 图像上每个像素点的颜色值,在 CPU 上运算的 C++代码通过循环语句依次遍历像素;而在 GPU 上,则只需要一条语句就足够。

其一,object space coordinate 就是模型文件中的顶点值,这些值是在模型建模时得到的,例如,用 3DMAX 建 立一个球体模型并导出为.max 文件,这个文件中包含的数据就是 object space coordinate;其二,object space coordinate 与其他物体没有任何参照关系,注意,这个概念非常重要,它是将 object space coordinate 和 world space coordinate 区分 开来的关键。无论在现实世界,还是在计算机的虚拟空间中,物体都必须和一个固定的坐标原点进行参照才能确定自己所在的位置,这是 world space coordinate 的实际意义所在。

从 object space coordinate 到 world space coordinate 的变换过程由一个四阶矩阵控制,通常称之为 world matrix。需要高度注意的是:顶点法向量在模型文件中属于 object space,在 GPU 的 顶点程序中必须将法向量转换到 world space 中才能使用,如同必须将顶点坐标从 object space 转换到 world space 中一样,但两者的转换矩阵是不同的,准确的说,法向量从 object space 到 world space 的转换矩阵是 world matrix 的转置矩阵的逆矩阵。

每个人都是从各自的视点出发观察这个世界,无论是主观世界还是客观世界。同样,在计算机中每次只能从唯一的视角出发渲染物体。在游戏中,都会提供视点漫游的功能,屏幕显示的内容随着视点的变化而变化。这是因为 GPU 将 物体顶点坐标从 world space 转换到了 eye space。 所谓 eye space,即以 camera(视点或相机)为原点,由视线方向、视角和远近平面,共同组成一个梯形体的三维空间,称之为 viewing frustum(视锥), 如图 4 所示。近平面,是梯形体较小的矩形面,作为投影平面,远平面是梯形体 较大的矩形,在这个梯形体中的所有顶点数据是可见的,而超出这个梯形体之外的场景数据,会被视点去除(Frustum Culling,也称之为视锥裁剪)。

从视点坐标空间到屏幕坐标空间 (screen coordinate space)事实上是由三步组成:

1. 用透视变换矩阵把顶点从视锥体中变换到裁剪空间的 CVV 中;2. 在 CVV 进行图元裁剪;3. 屏幕映射:将经过前述过程得到的坐标映射到屏幕坐标系上。

从物理结构而言,寄存器是 cpu 或 gpu 内部的存储单元,即寄存器是嵌入在 cpu 或者 gpu 中的,而内存则可以独立存在;

从功能上而言,寄存器是有限存储 容量的高速存储部件,用来暂存指令、数据和位址。

Shader 编成是基于计算机图形硬件的,这其中就包括 GPU 上的寄存器类型,glsl 和 hlsl 的着色虚拟机版本就是基于 GPU 的寄存器和指令集而区分的。

顶点着色器控制顶点坐标 转换过程;片段着色器控制像素颜色计算过程。这样就区分出顶点着色程序和片 段着色程序的各自分工:Vertex program 负责顶点坐标变换;Fragment program 负责像素颜色计算;前者的输出是后者的输入。

原文标题:GPU学习笔记

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

单片机学习汇总资料:FSMC的三个配置寄存器

RTC时钟配置必须要用到BKP寄存器,BKP寄存器在单片机复位、电源复位、待机唤醒模式下是不会更改值....

的头像 电子发烧友网 发表于 08-21 09:42 12次 阅读
单片机学习汇总资料:FSMC的三个配置寄存器

IC insights:2018年上半年全球前15大半导体厂商榜单揭晓

IC Insights的这份调查预测,2018年三星半导体销售额的84%为内存,比去年上升3%。此外....

的头像 章鹰 发表于 08-21 09:22 58次 阅读
IC insights:2018年上半年全球前15大半导体厂商榜单揭晓

《LINUX设备驱动开发详解》华清远见详细资料免费下载

任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件的硬件则只是....

发表于 08-20 17:53 17次 阅读
《LINUX设备驱动开发详解》华清远见详细资料免费下载

以PICl6F7x单片机为主控芯片的读卡器系统设计

RC522主要的状态指示寄存器包括ComIrqReg、Er-rorReg、Status2Reg和FI....

发表于 08-20 16:54 52次 阅读
以PICl6F7x单片机为主控芯片的读卡器系统设计

请问F28M35x寄存器偏移地址在哪个手册中可以查到?

请教朋友们一个问题,F28M35x寄存器偏移地址在哪个手册中可以查到?spruh22c手册中貌似没有啊。先谢谢了!...

发表于 08-20 07:49 108次 阅读
请问F28M35x寄存器偏移地址在哪个手册中可以查到?

adf4360-7的VCO输出频率固定不变,R、N寄存器无输出

[table] [tr][td]    我用adf4360-7做过两次电路板,第一次做板adf4360-7 的VCO输出频率及相位噪声都达到预期,在...

发表于 08-20 07:41 18次 阅读
adf4360-7的VCO输出频率固定不变,R、N寄存器无输出

请问ADP1046AEEPROM频繁擦写会不会影响其寿命?

1.利用单片机通过i2c对其电压输出寄存器进行频繁擦写会不会影响其寿命? 2.其内部的电压、电流等采样的寄存器是如何实时擦写的?...

发表于 08-20 07:31 29次 阅读
请问ADP1046AEEPROM频繁擦写会不会影响其寿命?

请问AD9361tx端输出功率最大是多少?

请问AD9361tx端输出功率最大是多少?根据datasheet,可以到0dbm以上,但是目前在我们的测试中发现,将发射衰减调至0db,也就是...

发表于 08-20 07:24 44次 阅读
请问AD9361tx端输出功率最大是多少?

AD7192读取读GPOCON寄存器时读出数据与写入数据不同

在使用ADI公司的AD7192芯片进行AD转换时,读出码值与实际电压值不否,因此用GPOCON寄存器读写对通讯进行验证,发现...

发表于 08-20 07:22 14次 阅读
AD7192读取读GPOCON寄存器时读出数据与写入数据不同

请问差分输出需要寄存器配置吗

请问HMC830的的差分输出,是不是不需要寄存器配置,连上两个 I/0口即可差分输出?...

发表于 08-20 07:07 14次 阅读
请问差分输出需要寄存器配置吗

请问HMC830默认输出是2.96G吗

HMC830  无论用单片机往寄存器里写什么频点的数据,锁相环输出都是2.96G。2.96难道是HMC830的缺省输出吗?...

发表于 08-20 06:28 12次 阅读
请问HMC830默认输出是2.96G吗

华为计划10月推出Mate 20搭配麒麟980,全球首款商用7nm芯片

华为向南非媒体发布官方消息,华为消费者业务CEO余承东证实,麒麟980处理器将在今年9月份的IFA展....

的头像 摄像头观察 发表于 08-19 09:22 642次 阅读
华为计划10月推出Mate 20搭配麒麟980,全球首款商用7nm芯片

深度神经决策树:深度神经网络和树模型结合的新模型

近日,来自爱丁堡大学的研究人员提出了一种结合深度神经网络和树模型的新型模型——深度神经决策树(Dee....

的头像 将门创投 发表于 08-19 09:14 279次 阅读
深度神经决策树:深度神经网络和树模型结合的新模型

请问C28x汇编程序右移6位是什么意思?

大家好! 我是DSP产品的新手。最近在看DSP程序例程上有一段语句是这样的: _ISR_Run: ;(13 cycles to get to here f...

发表于 08-19 07:46 0次 阅读
请问C28x汇编程序右移6位是什么意思?

请问AD9912在改变频率的时候能不能只设置频率控制字寄存器

请问AD9912在改变频率的时候能不能只设置频率控制字寄存器,而不更新其他寄存器实现变频,希望能够尽快得到解答。 谢谢!...

发表于 08-19 06:17 26次 阅读
请问AD9912在改变频率的时候能不能只设置频率控制字寄存器

从数据、算力、算法、教学总结机器学习的民主化

Siraj Raval从数据、算力、算法、教学四个方面总结了近年来机器学习是如何民主化的

的头像 论智 发表于 08-18 11:35 283次 阅读
从数据、算力、算法、教学总结机器学习的民主化

PCIe总线的错误报告机制中四个比较重要的概念

错误报告(Error Reporting):通知系统某个(或多个)错误发生了。在PCIe总线中,发....

的头像 电子技术应用ChinaAET 发表于 08-17 10:09 131次 阅读
PCIe总线的错误报告机制中四个比较重要的概念

GAL22V10设备详细数据手册免费下载

GAL22V10具有每个OLMC的可变数量的产品术语。在十个可用的OLMCs中,两个OLMCs可以访....

发表于 08-17 08:00 13次 阅读
GAL22V10设备详细数据手册免费下载

如果8位低寄存器被写入那TDR的8位高寄存器值是多少?

你好, 在第一,16位数据传输从16位的RAM数据缓冲的TDR采用DMAC传输。传输宽度为16位。 其次,从8位8位数据传输在R...

发表于 08-17 06:25 27次 阅读
如果8位低寄存器被写入那TDR的8位高寄存器值是多少?

C2837x入门:通信系统之CAN的介绍

C2837x入门指南(二十五)—通信系统之CAN

的头像 TI视频 发表于 08-17 02:02 74次 观看
C2837x入门:通信系统之CAN的介绍

C2837x入门:双内核之间的通信流程

C2837x入门指南(十九)—双内核之间的通信

的头像 TI视频 发表于 08-17 01:56 46次 观看
C2837x入门:双内核之间的通信流程

C2837x入门:DMA模块特点介绍

C2837x入门指南(十三) — DMA模块(下)

的头像 TI视频 发表于 08-17 01:52 52次 观看
C2837x入门:DMA模块特点介绍

C2837x入门:模拟子系统的特点介绍

C2837x入门指南(七) — 模拟子系统 ADC DAC CMP SDFM(上)

的头像 TI视频 发表于 08-17 01:40 57次 观看
C2837x入门:模拟子系统的特点介绍

C2837x入门: C2837x的概念及特点性能介绍

C2837x入门指南(一) — 概述

的头像 TI视频 发表于 08-17 01:33 50次 观看
C2837x入门: C2837x的概念及特点性能介绍

彻底变革工作流程,NVIDIA推出首款基于Turing架构GPU

NVIDIA今日宣布推出首款基于Turing™ 架构GPU,为五千万设计师和艺术家带来实时的逼真场景....

的头像 英伟达NVIDIA企业解决方案 发表于 08-16 17:11 415次 阅读
彻底变革工作流程,NVIDIA推出首款基于Turing架构GPU

英伟达发布了首款光线追踪GPU,图灵构架开始刷屏

在加拿大温哥华举行的 SIGGRAPH 计算机图形学顶级年度会议中,NVIDIA 新一代 GPU 架....

的头像 电子那些事儿 发表于 08-16 13:50 454次 阅读
英伟达发布了首款光线追踪GPU,图灵构架开始刷屏

麒麟980处理器已开始生产,CPU、GPU和NPU的性能都会有质的飞跃提升

日前,从台湾产业链曝光的消息称,台积电已经正式开始试生产麒麟980处理器了,由于7nm工艺制程目前的....

发表于 08-16 11:26 196次 阅读
麒麟980处理器已开始生产,CPU、GPU和NPU的性能都会有质的飞跃提升

英伟达发布全球首款支持实时光线追踪的GPU

英伟达(NVIDIA)又在“GPU历史长廊”上留下浓重的一笔——全球首款支持实时光线追踪(ray t....

的头像 DIGITIMES 发表于 08-16 10:45 319次 阅读
英伟达发布全球首款支持实时光线追踪的GPU

SYSCLK时钟源三个来源:HSI RC、HSE OSC、PLL

ARM公司只生产内核标准,不生产芯片。ST、TI这样的公司从ARM公司那里购买内核,然后外加自己的总....

的头像 电子发烧友网 发表于 08-16 10:11 281次 阅读
SYSCLK时钟源三个来源:HSI RC、HSE OSC、PLL

英伟达发布全新的图灵绘图架构

近日,在加拿大温哥华举行的 SIGGRAPH会上,NVIDIA(英伟达)公司创始人黄仁勋发布了全新的....

的头像 机器人技术与应用 发表于 08-15 15:57 391次 阅读
英伟达发布全新的图灵绘图架构

嵌入式GPIO接口基础操作

PORT A的端口配置寄存器GPACON中每一位对应一个引脚(PORT A共23个引脚,bit0~b....

的头像 嵌入式ARM 发表于 08-15 14:00 133次 阅读
嵌入式GPIO接口基础操作

Nvidia采用Turing核心架构发布GPU新品

Turing核心,黄仁勋称之为2006年(8800GTX G80核心)以来最大的飞跃。其核心面积达到....

的头像 满天芯 发表于 08-15 10:54 344次 阅读
Nvidia采用Turing核心架构发布GPU新品

Kinetis“喂狗”的问题

我们喂狗的函数也不能被打断,在往看门狗寄存器连续写入0xA602和0xB480两个数据是需要在20个....

的头像 电子技术应用ChinaAET 发表于 08-15 10:05 143次 阅读
Kinetis“喂狗”的问题

CC112X和CC120X温度传感器的详细资料免费下载

该设计说明为使用C112X和CCD120系列的温度传感器提供必要的信息。温度传感器基于从馈电到电阻器....

发表于 08-14 19:46 39次 阅读
CC112X和CC120X温度传感器的详细资料免费下载

英伟达CEO黄仁勋发布史上最强GPU 世界首个实时光线追踪新一代图灵架构

刚刚,英伟达CEO黄仁勋在SIGGRAPH 2018上大秀肌肉,推出世界首个实时光线追踪GPU,基于....

的头像 章鹰 发表于 08-14 15:32 856次 阅读
英伟达CEO黄仁勋发布史上最强GPU 世界首个实时光线追踪新一代图灵架构

20、14、10pin JTAG的引脚名称与序号对应关系

由于JTAG经常使用排线连接,为了增强抗干扰能力,在每条信号线间加上地线就出现了这种20针的接口。但....

的头像 嵌入式ARM 发表于 08-14 14:53 149次 阅读
20、14、10pin JTAG的引脚名称与序号对应关系

TF7960,-60A启动程序的管理详细资料免费下载

系统开发人员关注在启动时最小化Trf7960、-60A(及其变型)系统的当前绘图需要处理调节器控制寄....

发表于 08-13 17:27 33次 阅读
TF7960,-60A启动程序的管理详细资料免费下载

LDC1000寄存器读取时局出错的原因 详解LDC1000寄存器运行状况

用示波器查看各个管脚的时序波形图,对照使用说明书上的波形,看是否出错。

发表于 08-13 14:43 56次 阅读
LDC1000寄存器读取时局出错的原因 详解LDC1000寄存器运行状况

英特尔宣布2020年推出自家独立GPU产品,或又藏一支新牙膏?

英特尔去年从 AMD 手上挖走了负责 Radeon 系列开发的 Raja Koduri 过去,就有放....

的头像 39度创意研究所 发表于 08-13 14:26 371次 阅读
英特尔宣布2020年推出自家独立GPU产品,或又藏一支新牙膏?

NVIDIA Quadro GPU推动渲染提速 实现前所未有的速度和品质

Aixsponza能够以前所未有的速度渲染大型模型,主要得益于NVIDIA Quadro GP100....

的头像 英伟达NVIDIA企业解决方案 发表于 08-09 17:54 776次 阅读
NVIDIA Quadro GPU推动渲染提速 实现前所未有的速度和品质

DMA控制器硬件结构与DMA通道使用的地址

由于DMA需要连续的内存,因而在引导时分配内存或者为缓冲区保留物理 RAM 的顶部。在引导时给内核传....

的头像 嵌入式ARM 发表于 08-08 16:33 341次 阅读
DMA控制器硬件结构与DMA通道使用的地址

触摸屏和PLC之间一般进行的是整形、浮点等数据类型的通讯

使用Vijeo Designer Basic 1.1软件,在导航窗口-变量中定义一个字符型型变量ST....

的头像 施耐德自动化 发表于 08-08 15:04 403次 阅读
触摸屏和PLC之间一般进行的是整形、浮点等数据类型的通讯

Wishbone部分地址译码的实现

Wishbone部分地址译码的实现如图26所示。对于图中所示IP核,我们假设其只有4个地址,对应4组....

的头像 电子技术应用ChinaAET 发表于 08-05 08:44 375次 阅读
Wishbone部分地址译码的实现

寄存器比内存快的原理是什么?

计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,....

的头像 Linuxer 发表于 08-02 16:17 356次 阅读
寄存器比内存快的原理是什么?

一种具有混合精度的高度可扩展的深度学习训练系统

根据论文实验部分的内容,研究人员选取的模型是AlexNet和ResNet-50,它们各自代表一种典型....

的头像 论智 发表于 08-02 09:25 661次 阅读
一种具有混合精度的高度可扩展的深度学习训练系统

我们能否打开人工智能的“黑箱”?

魔方可谓20世纪80年代的标志性智力玩具,如今它正在被用作连接深度学习与高等数学之间的桥梁。

的头像 英伟达NVIDIA中国 发表于 08-01 16:50 629次 阅读
我们能否打开人工智能的“黑箱”?

AI芯片的架构和传统芯片有什么不同?

所谓的AI芯片,一般是指针对AI算法的ASIC(专用芯片)。传统的CPU、GPU都可以拿来执行AI算....

的头像 物联网技术 发表于 08-01 10:34 637次 阅读
AI芯片的架构和传统芯片有什么不同?

spartan-6系列简介中文资料概述和管脚封装下载资料概述

对XIlinx旗下的spartan6系列FPGA进行了大致介绍,可以让你快速了解此类芯片功能及作用,....

发表于 08-01 08:00 53次 阅读
spartan-6系列简介中文资料概述和管脚封装下载资料概述

Verilog设计FPGA有什么注意事项?

 Verilog中的变量有线网类型和寄存器类型。线网型变量综合成wire,而寄存器可能综合成WIRE....

发表于 08-01 08:00 71次 阅读
Verilog设计FPGA有什么注意事项?

如何使用CC430Fx,CC110x和CC111xFx进行频率扫描的详细资料概述

这个设计说明的目的是展示成功扫描通过覆盖N个信道数目的频带的必要步骤,并在频带中找到最强的信号。

发表于 07-31 19:34 39次 阅读
如何使用CC430Fx,CC110x和CC111xFx进行频率扫描的详细资料概述

网曝三星将自主研发GPU,那么三星自主设计和研发GPU又是为什么?

前段时间,一直有消息称韩国电子巨头三星即将自主设计GPU图形处理单元,为此不仅有招聘信息侧面证明,更....

的头像 半导体动态 发表于 07-31 17:00 533次 阅读
网曝三星将自主研发GPU,那么三星自主设计和研发GPU又是为什么?

通用计算以及OpenCL究竟是什么?

OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU、GPU或其他类型的处理器组成

的头像 FPGA技术联盟 发表于 07-30 09:17 667次 阅读
通用计算以及OpenCL究竟是什么?

AMD2018第二季度业绩及业绩亮点

AMD总裁兼首席执行官苏姿丰博士(Dr. Lisa Su)表示:“我们第二季度业绩表现非常亮眼,营业....

发表于 07-30 08:11 353次 阅读
AMD2018第二季度业绩及业绩亮点

车载芯片的发展趋势是什么?GPU和ASIC的发展方向与应用的概述

目前出货量最大的驾驶辅助芯片厂商 Mobileye、Nvidia 形成“双雄争霸”局面,Xilinx....

的头像 芯智讯 发表于 07-29 11:49 1321次 阅读
车载芯片的发展趋势是什么?GPU和ASIC的发展方向与应用的概述

三星或将摆脱高通束缚_自研GPU再曝光

近日,据媒体报道,三星纯自主GPU取得进展,将首先用于入门级移动产品。而此前,三星手机上的GPU芯片....

的头像 电子技术应用ChinaAET 发表于 07-28 11:18 788次 阅读
三星或将摆脱高通束缚_自研GPU再曝光

NVIDIA虚拟GPU助力华辰重机直面挑战

华辰重机选用NVIDIA虚拟GPU解决方案,构建了高效、集约、安全的数控机虚拟化终端设计平台,保证了....

的头像 英伟达NVIDIA企业解决方案 发表于 07-28 10:54 937次 阅读
NVIDIA虚拟GPU助力华辰重机直面挑战

三星自研GPU已经投片 对高通影响巨大

三星设计了一种号称在模拟中可达到领导级效能/功耗比(performance/watt)的行动图像处理....

的头像 面包板社区 发表于 07-28 10:17 896次 阅读
三星自研GPU已经投片 对高通影响巨大

浅谈STM32芯片行丝印含义,固件库命名规则及三大结构发展图示

外围模块的功能函数的名字,需要有相应的外围模块缩写加下划线这样的前缀,每个单词的首字符要大写。例如S....

发表于 07-28 10:02 199次 阅读
浅谈STM32芯片行丝印含义,固件库命名规则及三大结构发展图示

力邀Nvidia老将加盟,三星GPU的目标不止手机

台媒MoneyDJ表示,尽管三星旗下产品已经琳琅满目,从洗衣机、电视到NAND 快闪记忆体与固态硬碟....

的头像 罗欣 发表于 07-27 11:56 1403次 阅读
力邀Nvidia老将加盟,三星GPU的目标不止手机

串口的基本结构与通信方式

在发送数据时,数据位尾随的1位为奇偶校验位(1/0)。奇校验时,数据中1的个数与检验位1的个数之和应....

的头像 玩转单片机 发表于 07-27 10:06 644次 阅读
串口的基本结构与通信方式