GPGPU&&渲染GPU的工作原理和认知总结

GPGPU代表general purpose computing on graphics procesing unit,就是“图形处理器通用计算技术”。这种新型的加速技术试图把个人计算机上的显卡当作CPU这样的通用处理器来用,使显卡的强劲动力不仅仅发挥在图形处理上。从2009年开始,利用显卡进行计算已经渐成主流。

GPU的工作过程,它从CPU处获得三维模型,这些模型是用顶点坐标和色彩信息组成的,GPU对这些顶点的位置进行一系列的变换,然后投影到帧缓存上。投影的同时,GPU根据显示其的大小和分辨率对投影结果进行裁减,光栅化,每个帧缓存里的像素或者像素多边形的色彩经过GPU的一系列变换,最后的结果被GPU输出到显示器上。

GPU在计算机中的位置:

这一系列的工作是先后有序,不可颠倒的,前面步骤的输出是后面步骤的输入,这一连串的图形处理任务被成为图形流水线,图形流水线的入口是顶点坐标和颜色信息,输出是一帧适合当前显示器显示的图像,流水线以较高的频率工作(高于显示器的刷新频率),期间不断有数据从中流过,同时连续的一帧帧图像被输出到显示器上。

应用程序输入GPU的是三维的点云数据,从流水线输入端直到顶点着色器,流水线计算的对象都是三维几何模型,从光栅化器开始,所有操作都帧度二维像素了。

1.在计算机科学史上,某个算法一旦被设计出来就会被持续不断的改进,来达到更高的直行效率,一般来说,某个算法若在改进后比原来快了20%或者50%,就会被认为是个显著的贡献,并有机会发表在学术论文中。但显著改进某个算法的性能绝非易事,除了要深入了解算法的内涵,还要求算法设计者有较深厚的理论基础和很强的创新能力。

2.2004年之后,CPU发展已经告别了主频时代,单核CPU的性能自此之后很难靠提高主频来提高性能。然而依靠重新设计算法来显著提高程序的运行效率是一项艰巨的脑力劳动,且成效较为有限。所以,为了充分利用CPU的计算资源,越来越多的算法被重新设计成并行结构,以适应多核CPU架构,但是,和主频一样,多核CPU的核心数目也受到各种因素的限制,比如成本,散热灯技术难题。

3.专用硬件相对于软件的优势仅仅是速度,但速度至关重要,要使用GPU做并行计算,就要保证并行计算算法满足几个条件,首先每个线程的任务互不相关,其次,每个线程执行相同的指令。与之相应,具有以下特点的算法能够在GPU上达到最高的直行效率,首先每个数据(数据包)都需要经过相同的流程来处理,其次数据之间没有相干性,即某些数据的计算不依赖于另一些数据的计算结果,最后,数据量庞大。需要注意的事,以上的要求都是针对局部算法而言的,比如,算法中的一步操作,一个循环语句等等,并不要求整个程序都满足线程的不相干性和指令一致性,一个完整的程序可以是由多个满足以上条件的部分接合起来的,而对程序全剧的控制和个部分的协调可以放在CPU上完成,这也就是所谓的异构并行计算。也就是说,计算资源含有多个不同的处理器,比如由GPU,CPU,甚至还有其他的处理器比如NPU,组成的处理器阵列,而GPGPU的计算过程是由CPU和GPU等共同完成的,开发人员可以将算法复杂的,要求精度高的数据量小的部分交给CPU,而将算法枯燥的,对精度要求不是很高的,数据量庞大的部分交给GPU来完成。CPU擅长逻辑,GPU和其它加速器针对某个特定算法进行算法加速。</

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值