视频图像处理与性能优化

GPU计算优化策略——充分发挥计算单元性能

充分考虑GPU架构特点和调度策略,以有效地利用这些计算单元,避免计算单元的闲置,是提高GPU程序性能的主要途径。由图1-4可以清晰看出,GPU相较于CPU拥有更强大的计算能力。图1-4 CPU与GPU逻辑架构对比虽然GPU的时钟频率不及CPU高,但GPU的性能与芯片面积之比,性能与能耗之比要比CPU高,尤其在执行并行计算任务时,其计算性能远超CPU。
理论教育 2023-06-23

数据本地化:访存密集型GPU程序的首要方法

数据本地化的实质是软件工程师们要充分尊重和理解底层硬件的限制,并且用各种手段规避问题,最大化利用手里的硬件资源。GPU一共提供了三种机制来实现数据本地化。在GPU程序优化过程中,特别是针对访存密集型kernel,如果始终不能达到理想的性能,则通过数据本地化提高计算密度是首要的优化方法。
理论教育 2023-06-23

解决GPU负载不均衡的并行优化框架——以Viola-Jones为例

更为严重的是,传统的GPU编程和优化方法并没有涉及对负载不均衡现象的处理和优化。对此,本书将针对Viola-Jones人脸检测算法的特性,结合GPU的架构特征,提出一种并行优化框架,以突破由于负载不均衡导致的性能瓶颈。在GPU的Global Memory中设立一个统一地址空间,将所有图片按照缩放比例,顺序放入统一地址空间中。该机制尽可能地保证每个OpenCLkernel的工作量足以充分利用GPU所有的计算资源,很好地解决了图像级负载不均衡问题。
理论教育 2023-06-23

优化并行规约求和算法的性能分析

本节对5.4.2小节的Nave版本以及第4章提及的4种优化策略进行性能的总和对比,若优化策略存在多种实现思路,将性能最优的为准则参与对比,性能总和对比如图5-17所示。并行规约求和算法经过多种优化策略的步骤性优化,其执行时间从最初的Nave Reduce的1056.199μs降低至417μs左右,性能提升了约60.52%。
理论教育 2023-06-23

双线性插值方式的图像resize算法实现

下面将给出最近邻插值方式与双线性插值方式的resize算法的基本实现,并主要针对双线性插值方式对resize算法进行优化,通过增加每一个线程所处理像素点的个数以及对访存方式的优化,以追求更高的性能。同样,下面给出双线性插值方式的resize算法的基本实现,一个线程负责图像的一个像素点的运算,以深度为5为例,此版本在通道1和通道3的运行时间为0.1322ms和0.0.3892ms。
理论教育 2023-06-23

更高效的能耗优化策略在各层级的应用

主要包括CPU能耗控制、CPU频率调整和专用低能耗部件。另一方面,通过降低电压和频率也可以降低CPU的动态能耗。根据各个进程能耗的不同对CPU任务队列进行调整,把一些产生较多热量的任务从温度较高的CPU上迁移到温度较低的CPU上,从而实现能耗均衡的技术等。可以避免局部的能耗控制对整体造成负反馈,从而达到全局最优控制。表9-2显示了不同层次上能耗优化方法的关注点以及各自的优势和不足。
理论教育 2023-06-23

AMDGPU架构详解

AMD Cypress GPU的架构特征如图3-10所示。同NVDIA GPU一样,AMD GPU可在SM上部署大量的wavefront,这些wavefront将以时间片的方式轮转执行,当一个wavefront因访存而造成阻塞时,线程调度器会立即调度其他wavefront来执行。AMDGPU的每个SIMD计算单元同样拥有通用计算器和本地内存等有限的片上资源。为了与OpenCL抽象一致,AMD将其GCNGPU模块化为3个层次:设备、CU和ALU。
理论教育 2023-06-23

OpenCL的内存模型与GPU硬件内存架构的对应关系

OpenCL定义了层次化的内存模型,共定义了全局内存、常量内存、本地内存和私有内存四块不同的存储区域。常量内存是位于全局内存中的一块内存区域,其内存在kernel的执行期间不能修改。由此可见,OpenCL的内存模型和GPU的内存架构具有很好的映射关系。OpenCL定义了宽松的内存一致性模型,本地内存只在本地同步点保证同一个work-group内的所有work-item的内存一致性。以RadeonHD5870为例,OpenCL内存模型映射到GPU硬件内存的对应关系见表4-1。
理论教育 2023-06-23

Velodyne三维激光雷达技术解析

目前,在智能车上安装的雷达种类繁多,主要有单线激光雷达、多线激光雷达及三维激光雷达等。因此,三维激光雷达的引入,可以真正满足无人驾驶智能车对环境理解和地图构建的要求,具有典型代表性的三维激光雷达为美国Velodyne公司生产的64线激光雷达和32线激光雷达。64线激光雷达传感器探测范围:水平视场360°,垂直视场26.8°。
理论教育 2023-06-23

CPU和GPU间的数据传输优化措施

CPU与GPU之间的数据传输是GPU程序的主要性能瓶颈,即使在TegraX1平台上,虽然device和host内存共享,但是device端与host端之间的数据传输也是整个算法性能主要瓶颈之一。如图5-1所示,当将数据从host传到device时,需要先将pageable memory传到pinned mem-ory,所以pinned memory无论是device与host还是device与device之间传输速率都远大于pageable memory的传输速率。因此,选择合适的内存可以实现数据传输的优化。实际上,CUDA提供一种允许GPU线程直接访问host端的pinned memory的机制,称为zero copy。
理论教育 2023-06-23

深入解析GPU编程模型

CUDA是NVIDIA公司2007年提出的支持其GPU进行通用计算的编程模型和开发环境。此外,对于没有支持CUDA的GPU的用户,可以选择模拟模式来运行CUDA程序,此时系统将会用主机来模拟设备的运行,但速度很慢。基于CPU-GPU的异构模式只是众多异构结构中的一种,也是目前被广泛使用的一种。OpenCL是由苹果公司于2008年提出的一个适用于异构计算平台的统一的并行编程模型,也是一种工业标准和规范。
理论教育 2023-06-23

交通标志识别技术优化探究

图像识别,可认为是图像的模式识别,它是模式识别技术在图像领域中的具体运用。模式识别研究的目的是研制能够自动处理某些信息的机器系统,以便代替人完成分类和辨识的任务。模板匹配法就是对每个待识别的类别绘出典型标准模板作为识别标准,然后将待识别的类与标准模板相比较,从而做出判断。在确定识别判别函数时需要大量的各种类别的图像样本,通过对样本特征的计算统计从而设定识别参数,也就是所说的统计学习过程。
理论教育 2023-06-23

视频图像处理的发展与应用

视频图像处理应用领域包括航空航天、生物医学、机器人视觉、无人驾驶技术、公共安全、文化艺术等。视频图像处理技术应用在智能交通领域。视频图像处理技术在体育运动项目中起很大的作用。此外,视频处理技术在X光肺部图像增晰、超声波图像处理等医学诊断方面的应用也十分普遍,为医学研究提供了方便。
理论教育 2023-06-23

优化栅格处理方法,提升效率

栅格内数据量不一致,若采用初步算法设计的方法来处理栅格数据,将导致有的线程任务过大,造成线程间的负载不均衡。然而,处理第二个栅格数据后,(0,0)和(1,1)负责的栅格数据已经处理完毕。图8-22 用warp处理的简单的执行流程指令从开始到结束消耗的clock cycle称为指令的latency。
理论教育 2023-06-23

基于SVM的交通标志牌识别技术

SVM属于有监督的机器学习方法,能够将结构风险最小化,因而是一种良好的分类器。SVM分类器在图像识别和检索、运动检测、光学字符识别和手写字符识别等方面具有明显的优势,因此选用基于SVM的分类器对交通标志牌进行识别。图2-23 基于SVM的识别再根据检测效果图得到从原图中截取出相应的交通标志图,如图2-24所示。
理论教育 2023-06-23

提高效率:优化globalmemory的合并访问

global memory在GPU的存储层次中容量最大,但访存延迟又很高。但是,在GPU编程过程无法避免使用global memory。因此,global memory的访存优化对整个GPU程序的性能有着至关重要的作用。自Fermi架构以来,NVIDIA GPU引入了一级和二级缓存,要求在global memory的访存中每个warp访存的大小是一个128B的cache line或多个cache line。图5-3 访存机制因此,在global memory的访存优化中应该尽可能使其合并访存或充分利用cache line机制。
理论教育 2023-06-23
-已经加载完成-