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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/16038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ES的安装以及配置+ik分词

环境:windows10、ES(8.13.3)、Kibana(8.13.3)、Logstash(8.13.3)、ik(8.13.3) 1.下载安装ES Download Elasticsearch | ElasticDownload Elasticsearch or the complet…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试5月26日预测第2弹

今天继续基于8883的大底进行测试,昨天的预测已成功命中!今天继续测试,按照排三前面的规律,感觉要出对子了,所以本次预测不再杀对子,将采用杀一个和尾来代替。好了,直接上结果吧~ 首先&#xff0…

mongoengine,一个非常实用的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超酷的 Python 库 - mongoengine。 Github地址:https://github.com/MongoEngine/mongoengine 在现代应用程序开发中,NoSQL数据库因其灵活性和高性能而广受欢迎。MongoD…

软件需求规范说明模板

每个软件开发组织都会为自己的项目选用一个或多个标准的软件需求规范说明模板。有许多软件需求规范说明模板可以使用(例如ISO/IEC/IEEE2011;Robertson and Robertson2013)。如果你的组织要处理各种类型或规模的项目,例如新的大型系统开发或是对现有系统进行微调&…

concurrency 并行编程

Goroutine go语言的魅力所在,高并发。 线程是操作系统调度的一种执行路径,用于在处理器执行我们在函数中编写的代码。一个进程从一个线程开始,即主线程,当该线程终止时,进程终止。这是因为主线程是应用程序的原点。然后…

红黑树封装map和set

红黑树源代码 我们将由下列的KV模型红黑树来模拟封装STL库中的map和set 注意&#xff1a;为了实现封装map和set&#xff0c;我们需要对下列源码进行优化。 #pragma once #include<iostream> using namespace std; //枚举类型的颜色分类 enum Colour {RED,BLACK };//定…

Markdown魔法手册:解锁高效写作的新技能

边使用边更新0.0... 文章目录 一、如何在Markdown中插入表情&#xff1f;二、文字样式设置1.文本颜色设置2.文本字号设置3.文本字体设置4. 实战演练5.黄色高亮 一、如何在Markdown中插入表情&#xff1f; 在Markdown中插入表情&#xff08;emoji&#xff09;的方法取决于你使用…

如何提升百度小程序的收录?百度小程序如何做优化?

​ 如何通过百度小程序获得更多的自然流量&#xff1f;这是做百度小程序肯定要考虑的问题&#xff0c;做百度小程序的目的就是想借助百度生态&#xff0c;做相应的关键词给自己的小程序引流&#xff0c;如何把流量给做起来呢&#xff0c;接下来我从不同的方面给大家进行分析讲解…

最新ChatGpt Desktop for Mac 安装使用教程

1. 下载地址 请点击链接下载 ChatGPT Desktop for MacOS 2. 使用要求 MacOS 版本 14需要时M1芯片的&#xff0c;如果你是因特尔的暂时还还不行 就算下载了也会出现下面的异常 3. 获取权限资格 目前 ChatGPT MacOS Desktop还不是全量开放的, 如果你没有收到通知说明你还没…

ipa 覆盖算法测试

相关文章 ipa 功能包测试 ipa 分区算法 ipa 分区算法总结&#xff0c;部分算法图解 ipa 覆盖算法分析&#xff08;一&#xff09; ipa 覆盖算法分析&#xff08;二&#xff09; 测试 网上找的地图&#xff1a; fig.1 测试地图 opencv fig.2 opencv 显示的覆盖路径 rviz fi…

6.定时器分时复用测量占空比

1.CUBEMAX配置 测量PA6&#xff0c;PA7输出的占空比&#xff0c;只需要把主要的配置&#xff0c;配置为A6口就行&#xff0c;A7口黄色表示配置不正确&#xff0c;不用管。 2.软件代码 TIME.c中找到TIM3的初始化&#xff0c;在后面初始化A7口 void MX_TIM3_Init_PA7(void) {/*…

创新实训2024.05.25日志:Web应用技术选型

我们的web应用使用python web的fastapi框架&#xff0c;通过uvicorn开启web服务。 1. refs 官网文档&#xff1a;FastAPI (tiangolo.com) github&#xff1a;https://github.com/tiangolo/fastapi 2. 环境配置 python:3.11 uvicorn:0.29.0 pip install "uvicorn[stan…

老外卖27刀每月的教程已经更新

用了两天半的时间&#xff0c;边学习&#xff0c;边整理了一份老外的视频教程&#xff0c;涉及Facebook&#xff0c;YouTube&#xff0c;tiktok等大的流量平台&#xff0c;有案例&#xff0c;有分析&#xff0c;有如何做。 这个教程是老外讲的&#xff0c;没有什么玄乎的塑造价…

聊聊ChatGPT的本质

这是鼎叔的第九十八篇原创文章。行业大牛和刚毕业的小白&#xff0c;都可以进来聊聊。 阶段性总结下我对ChatGPT的基础理解&#xff0c;算是一篇学习思考笔记吧。其中难免有很多不准确的&#xff0c;或过于简略的地方&#xff0c;将来再迭代学习。 OpenAI做ChatGPT的底层逻辑…

如何利用线程池实现互联网验证码保护服务

如何利用线程池实现互联网验证码保护服务 1、业务背景与实现思路2、代码实操1、业务背景与实现思路 首先介绍一下业务背景,假设我们的系统是一个短视频播放网站,每个新加入的用户都需要注册账号并绑定手机号。为了验证用户手机的正确性,我们的系统会发送一条验证码到用户注…

K8s的kubectl的基本操作

K8s的kubectl的基本操作 K8s基本信息的查看 查看版本信息 kubectl versio查看资源对象简写 kubectl api-resources查看集群信息 kubectl cluster-info配置kubectl自动补全 source <(kubectl completion bash)查看master节点状态 kubectl get cs查看命名空间 kubectl…

【找出第 K 大的异或坐标值】python

4层循环暴力超时 class Solution:def kthLargestValue(self, matrix: List[List[int]], k: int) -> int:nums[]for a in range(len(matrix)):for b in range(len(matrix[0])):num0for i in range(a1):for j in range(b1):num^matrix[i][j]nums.append(num)nums.sort()retu…

类的内存对齐位段位图布隆过滤器哈希切割一致性哈希

文章目录 一、类的内存对齐1.1规则1.2原因 二、位段2.1介绍2.2内存分配问题2.3跨平台问题2.4使用的注意事项 三、位图的应用3.1 给40亿个不重复的无符号整数&#xff0c;找给定的一个数。&#xff08;int的范围可以到达42亿多&#xff09;3.2 给定100亿个整数&#xff0c;设计算…

Golang实现文件复制

方法&#xff1a;三种 package zdpgo_fileimport ("errors""io""os" )// CopyFile 使用io.Copy进行文件的复制&#xff0c;同时也会复制文件的所有权限 // param src 复制文件 // param des 目标文件 // return error 错误信息 func CopyFile(s…

2024年弘连网络FIC大会竞赛题线下决赛题

总结&#xff1a; FIC决赛的时候&#xff0c;很多小问题没发现&#xff0c;在pve平台做题确实很方便。 这套题目复盘完&#xff0c;服务器这块的知识确实收获了很多&#xff0c;对pve集群平台和网络拓扑也有了一定的认识&#xff0c;感谢各位大佬悉心指导。 接下来&#xff0…