论文部分内容阅读
异构计算由于能够将不同类型的任务分配给合适的计算资源以达到执行性能的优化,因而成为人们重点研究的领域。伴随着计算机体系结构的发展,各类异构计算平台层出不穷,其规模也从系统级、板级向芯片级迈进。这就使得统一各类异构平台,规范平台内各计算资源显得尤为重要。异构系统架构(Heterogeneous System Architecture,HSA)作为一种新型的通用异构架构规范,其异构统一访存(Heterogenous Nnified Memory Access,HUMA)、异构系统架构中间层语言(Heterogeneous System Architecture Intermediate Language,HSAIL)技术为上述问题提供了有效解决方案。目前,HSA架构已经应用到CPU+GPU异构计算平台,在多款加速处理器(Accelerated Processing Unit,APU)得到了实现。朴素贝叶斯图像分类算法涉及概率统计和图像特征处理,并且处理图像的数据量大、图像特征相对独立,适用于GPU并行计算,而相关的计算环节协作和计算任务分配则需要CPU完成,因此该算法适合CPU+GPU异构平台。但由于该算法在CPU和GPU协同处理时,存在着大量的数据交互,传统的CPU+GPU异构计算平台会造成较高的数据传输损耗,而基于HSA架构的CPU+GPU异构计算平台其相关技术能够有效解决这一问题。因而,本文基于支持HSA标准的APU平台,围绕朴素贝叶斯图像分类算法展开研究,并设计了一套任务分配优化方案,具体的工作如下:第一,对朴素贝叶斯图像分类算法的流程进行分析,以图像预处理、特征值提取和概率运算三个环节进行描述,详细说明各个环节的设计方案。并依据迭代计算和最大池化思想,设计一套的分块主色特征值处理的改进方案,对特征进行细粒度划分,将当前分块的主色权值所占比例作为下一层分块对应位置颜色的新权值,进行逐层筛选;并将特征值处理环节的颜色统计和主色选取部分进行分工。第二,鉴于传统异构平台下处理器之间传输代价大,计算资源使用不充分的问题,以算法特征值处理环节的颜色统计为例,设计了一套基于该部分的任务分配方案,通过分析CPU和GPU每次处理任务的状态得到稳定的处理速率,再依据其处理速率的比值划分剩余任务。并对该任务分配方案从方案特点、具体流程、执行效果方面进行详细说明与分析。实现结果显示,在HSA架构下对朴素贝叶斯图像分类算法的优化设计能够在保证较高的分类精度的基础上,使算法的执行效率有着一定的提升,并且采用任务分配优化方案,可使算法的执行效率较为明显的提升。