实时计算及异构计算随笔笔记

3、异构计算的典型应用

异构计算并不神秘,目前已渗透各个领域,不仅是PC领域,也包括了手持移动设备领域、行业领域,甚至是云计算、分布式计算领域。事实上,异构计算至少在应用端(前台)并不像它的名字这样生涩,很多应用里面,都有异构计算的身影。小到网页及视频加速,大到DNA计算、蛋白质计算、气象运算,都能和异构计算搭上关系。但都有一定的限制,如_global_函数类型限定符用于声明内核函数,只能在设备上执行,从主机调用。

3.1 AMD视频稳定技术

视频是和大家息息相关高频应用。而AMD、英特尔和NVIDIA在视频领域都有GPU加速/解码/转码技术------这一点大家都知道了。但还有些技术可能大家还不了解,比如图像稳定技术。

我们时常遇到抖动的视频,这种抖动可能源于拍摄者的手不稳,也可能是因为长焦拍摄。无论如何,AMD通过异构计算拿出了解决方案:2011年中,AMD 宣布了"Steady Video"技术,可以实时对抖动画面进行稳定化处理。不过由于缺乏播放软件的支持,该技术一直是"只闻其声,不见其形",真正的应用并不多。而在AFDS 2012上,这一技术的升级版再度出击------与去年不同的是,如今,你使用APU平台笔记本,抑或是使用带有AMD独显,就能实实在在地感受到这一技术带来的良好特性。

Steady Video是一个很典型的异构计算应用,因为它并非完全采用GPU而解放CPU资源,而是将实时的视频图像处理任务进行了智能分工,分别交给CPU 和GPU共同完成。

3.2 人脸识别

人脸识别是生物识别这个大范畴中的一类,目前广泛地运用在日常的娱乐生活中,相机拍照、摄像头人脸识别登录,甚至是目前很火的摄像头动作感应游戏,都是基于人脸识别系统的。那么,人脸识别怎么会和异构计算扯上关系的呢?

人脸识别系统后台有面部模型,而其识别工作方式可能是这样的(不同软件会有区别):先把画面分成若干区域,大家可理解为一个区域对应一个识别框。然后,针对识别框进行识别和判定。每个识别框不是完全独立的,而是有大量重复区域。也就是说,整个画面会被分成海量的区域(识别框)。工作量如此大的"重复简单劳动",让CPU来运算就很头疼了------因为它得一个一个地(特指单核CPU)比对、判定,就像跑马拉松;而GPU的核非常多,可同时对多个识别框进行比对和判定,效率大大提升。

或许有人会说:CPU速度快,可以弥补数量的不足。但人脸识别绝非图示那么简单。举例来说,如果识别框的大小设定不对(如下图),就无法正常识别到人脸。那么在完成一次全画面识别后,需让识别框变大点再从头开始------这样看来,就是恐怖的工作量了。一张1920×1080分辨率的静态图片若经多次识别框大小调整并最终找到人脸,识别(框)总量大概为4百万个!如果是动态视频(等同于人脸跟踪),每秒的运算量还要翻几十倍!很显然,这类工作是GPU的专长。同时,GPU还会引入新的算法,会将画面先分为若干独立区域,利用面部模型先排除掉完全无人脸特征的区域,然后对剩下的区域进行并行计算(识别),效率可大幅提升。

3.3星云计算

星云计算,这个词对于咱普通人可能觉得有些陌生,只知道通过各种太空望远镜和卫星拍摄的星云图、星系图好漂亮!不过宇宙中有数不清的星星,一个星系可能就有上万亿颗星星(银河系有400亿颗),而目前探知的星系就有1250亿个......

如果天文学家要演示和模拟星球的运行和分布,将一个星系图线性放大到星球图,会是多大的工作量呢!?很显然,内核不多的CPU干这个活儿是难以想象的。拥有上千流处理器的GPU干起来效率就高多了。通过GPU的加速,可以实现多至数百万个运算星体的的处理工作,图像缩放时可达60帧/秒,观看者完全感觉不到停顿。

当然,如果纯粹是GPU运算,CPU就闲着了,所以,如果能够动态结合CPU 极高的频率和GPU的并行运算能力,效率就能得到最大的提升。在这个应用中,节能不是第一要素,而是在固定的投入下发挥出最大工作效率,这也是异构计算的目的之一。


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/Pieces_thinking/article/details/122264574

相关推荐
我爱挣钱我也要早睡!8 小时前
Java 复习笔记
java·开发语言·笔记
汇能感知13 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun13 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
茯苓gao13 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾13 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT14 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
ST.J14 小时前
前端笔记2025
前端·javascript·css·vue.js·笔记
Suckerbin15 小时前
LAMPSecurity: CTF5靶场渗透
笔记·安全·web安全·网络安全
小憩-15 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习
UQI-LIUWJ16 小时前
unsloth笔记:运行&微调 gemma
人工智能·笔记·深度学习