GPU特征处理技术

GPU和CPU有何不同?

现代片上系统(SoC)通常集成中央处理器(CPU)和图形处理器(GPU)。设计不同,这可能更取决于处理的数据集的类型。

CPU经过优化,可以一次对几块数据执行大量分支任务。在CPU上运行的线程通常是唯一的,并且是独立执行的,通常独立于所有其他线程。任何给定的处理元素都将在单个线程中进行处理。CPU上程序的典型线程数通常为1到8个,在任何时间段内最多为几十个。

GPU经过优化,工作原理是同一段代码将在多个线程中执行,通常数为数百万,以处理当今设备的大屏幕分辨率。这些线程只在输入上不同,通常遵循完全相同的执行步骤。

并行性

每个图形处理器在多线程上以单指令多数据(SIMD)处理的形式,并发执行同一条指令。

SIMD体系结构的主要优点,对于结构正确的应用程序,可以并行运行大量线程,效率极高。SIMD体系结构通常能够同时运行比典型CPU多几个数量级的线程。

SIMD设计用于处理大的相干数据集,在这类任务中表现得非常出色。因此,在大型相干数据集上独立运行的算法(如图形和图像处理),非常适合这种处理器类型。

矢量和标量处理

现代图形核心体系结构具有多个基于矢量或标量的处理单元。都受不同版本的PowerVR体系结构支持–Series 5 supporting vector,以及Series 6、Series 7和Series 8 supporting scalar。

标量处理单元对每个处理单元的单个值进行操作。

向量处理单元对每个处理单元处理多个值。

矢量

向量处理可以非常有效,因为执行单元可以同时处理多个值,而不是只处理一个值。对于颜色和顶点操作,这种类型的架构是非常有效的。因此,传统的渲染操作非常适合这种体系结构,因为计算通常同时对三个或四个元素进行操作。

向量体系结构的主要缺点是,如果使用标量值或小于处理器期望值的向量,则会浪费额外的处理元素宽度。最常见的向量宽度是4,这意味着主要操作三个分量向量的着色器或内核将以75%的效率操作这些指令。一次只在一个标量上工作的着色器可能会将这个数字降低到25%。这会浪费能源和性能,因为处理器的某些部分没有做任何工作。可以通过矢量化代码对此进行优化,但这会增加程序员的负担。

标量

标量处理器在每个硬件周期可以执行的操作方面往往更加灵活,因为不需要用数据填充额外的处理宽度。虽然向量架构可能在同一个硅区域中处理更多的值,但对于非向量化代码,在标量架构中每个时钟的实际有用结果数通常会更高。标量体系结构往往更适合于通用处理和更高级的渲染技术。

关于消除混叠反采样

该技术引入了GRLAA(Gradient Line Anti-Aliasing,梯度线消除混叠),这是一种相对简单有效的方法,用于处理汽车导航应用中经常出现的混叠线。

在信号处理学科中,有一个特定的采样频率称为奈奎斯特频率。当以低于奈奎斯特频率的频率对信号进行采样时,从这些采样重构的信号与原始信号不同。原始信号和重构信号之间的差异表现为伪影。这种效果称为“混叠”。

本文讨论了计算机图形学中两种最常见的混叠现象。第一种是“锯齿状”(下图1),这里原本是一条对角线的直线,看起来像锯齿状的楼梯。这是由图形卡的“光栅化器阶段”引入的,将“中间”像素渲染为开或关。

第二种是采样混叠。这是当一个高频(快速变化的)纹理被用来渲染远处的某物时,比如图2中的棋盘格图案,并且似乎创建了被称为moir的可见人工制品模式。

有几种算法可用于消除可见锯齿的数量,并去除staircase上的伪影artefacts。但是,这些算法可能会产生适中的性能成本,这取决于它所部署的硬件。

超级采样消除混叠(SSAA)。这是一种暴力技术,比最终分辨率高出整数倍(x2,x4)的分辨率渲染整个场景,然后对整个帧缓冲区进行下采样,产生所需的最终分辨率。结果,锯齿和纹理伪影采样,进行优良的质量和改善,但技术显然是极其昂贵的。渲染成本(包括光栅操作、片段操作和相关带宽)乘以分辨率乘数的平方,即x4表示x2 SSAA,x16表示x4等

多采样消除混叠(MSAA)。这种技术通过将图像渲染到一个缓冲区,增加每个像素的采样数,该缓冲区能够存储每个像素的多个采样。然后解析该缓冲区,生成与viewport分辨率匹配的输出。这在PowerVR硬件上非常有效,因为解析是在芯片上执行的,节省了宝贵的内存带宽。MSAA改善了锯齿,但没有对伪影进行采样。

基于着色器的技术,如快速近似消除混叠(FXAA)或亚像素形态,消除混叠(SMAA)。这两种技术分析检测和模糊锐化的几何特征。在屏幕空间中执行的后处理算法,通常具有固定的成本(一次全屏传递),但需要更多的内存带宽,这在移动和嵌入式设备上通常是额外的。

GPU特征处理技术的更多相关文章

  1. 目标检测中特征融合技术(YOLO v4)(下)

    目标检测中特征融合技术(YOLO v4)(下) ASFF:自适应特征融合方式 ASFF来自论文:<Learning Spatial Fusion for Single-Shot Object D ...

  2. 目标检测中特征融合技术(YOLO v4)(上)

    目标检测中特征融合技术(YOLO v4)(上) 论文链接:https://arxiv.org/abs/1612.03144 Feature Pyramid Networks for Object De ...

  3. HTML5须知的特征和技术

    1.新的Doctype XHTML文档类型 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  4. qGPU on TKE - 腾讯云发布下一代 GPU 容器共享技术

    背景 qGPU 是腾讯云推出的 GPU 共享技术,支持在多个容器间共享 GPU卡,并提供容器间显存.算力强隔离的能力,从而在更小粒度的使用 GPU 卡的基础上,保证业务安全,达到提高 GPU 使用率. ...

  5. 深度神经网络DNN的多GPU数据并行框架 及其在语音识别的应用

    深度神经网络(Deep Neural Networks, 简称DNN)是近年来机器学习领域中的研究热点,产生了广泛的应用.DNN具有深层结构.数千万参数需要学习,导致训练非常耗时.GPU有强大的计算能 ...

  6. 【深度学习系列2】Mariana DNN多GPU数据并行框架

    [深度学习系列2]Mariana DNN多GPU数据并行框架  本文是腾讯深度学习系列文章的第二篇,聚焦于腾讯深度学习平台Mariana中深度神经网络DNN的多GPU数据并行框架.   深度神经网络( ...

  7. 国内云计算的缺失环节: GPU并行计算(转)

    [IT时代周刊编者按]云计算特有的优点和巨大的商业前景,让其成为了近年来的IT界最热门词汇之一.当然,这也与中国移动互联网的繁荣紧密相关,它们需要有相应的云计算服务作为支撑.但本文作者祁海江结合自身的 ...

  8. CBIR--Survey.C/GPU优化.Sys搭建

    一:CBIR综述:转自于wiki:http://zh.wikipedia.org/wiki/CBIR 参考链接:http://blog.csdn.net/kezunhai/article/detail ...

  9. 高德SD地图数据生产自动化技术的路线与实践(道路篇)

    一.背景及现状 近些年,国内道路交通及相关设施的基础建设日新月异.广大用户日常出行需求旺盛,对所使用到的电子地图产品的数据质量和现势性提出了更高的要求.传统的地图数据采集和生产过程,即通过采集设备实地 ...

随机推荐

  1. CVPR2021 | 华为诺亚实验室提出Transformer in Transformer

    前言: transformer用于图像方面的应用逐渐多了起来,其主要做法是将图像进行分块,形成块序列,简单地将块直接丢进transformer中.然而这样的做法忽略了块之间的内在结构信息,为此,这篇论 ...

  2. 分解uber依赖注入库dig-使用篇

    golang的依赖注入库非常的少,好用的更是少之又少,比较好用的目前有两个 谷歌出的wire,这个是用抽象语法树在编译时实现的. uber出的dig,在运行时,用返射实现的,并基于dig库,写了一个依 ...

  3. javascript取url的参数的方法

    <script type="text/javascript"> function request(paras) { var url = location.href; v ...

  4. node-mongo封装

    node 里面调用mongo封装了下. mongo.js文件 const { MongoClient, ObjectId } = require('mongodb'); const mongourl ...

  5. (Py练习)输入某年某月判断天数

    # 输入某年某月,判断这一天是这一年的第几天 year = int(input("year:\n")) month = int(input("month:\n" ...

  6. ElasticSearch7.10.0入门学习

    ElasticSearch完成最关键的一个功能就是 大数据搜索 官网:https://www.elastic.co/cn/elasticsearch/ 简介 Elasticsearch 是一个分布式全 ...

  7. java.lang.ClassNotFoundException的解决方案

    举一个特定的例子 java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource 到Maven中央仓库下载 当我们看 ...

  8. Mybatis-Plus01 快速开始

    Mybatis-Plus虽然官网上有一个快速开始,但是实际操作有点问题,所以,自己写了一个. 版本说明 如果用其他软件版本可能会有部分差异 mybatis-plus:3.4.0 之前我是使用的是3.0 ...

  9. Object划分

    Object划分 1.PO(persistantobject)持久对象 PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合.PO中应该不包 含任何对数据库的操作. 2.DO(Domain ...

  10. 电脑进入bios和u盘启动快捷键

    参考:http://www.jb51.net/os/78638.html 一:联想系列 1:联想笔记本电脑 Thinkpad idea 520  :关机状态下,在左下角用回形针捅小孔,知道出现bios ...