论文部分内容阅读
Intel MIC协处理器作为近年来一种新的异构计算平台,由于其基于现有的X86架构的特点,同时支持OpenMP、OpenCL、pThread等多种并行编程模型,越来越多地被应用在高性能计算领域。不同并行编程模型对具体应用的并行效率有所不同,针对具体的应用,结合Intel MIC平台的特点,选择合适的并行编程模型,尽可能地提高并行效率已经成为一个亟待解决的现实问题。本文结合实际研究中图像处理的相关应用,在Intel MIC平台上,分别利用OpenMP和OpenCL两种并行编程模型对非局部均值图像去噪算法和免疫优势克隆选择算法进行了并行化,并对两种编程模型在Intel MIC平台上的并行性能进行了研究。本文所研究的主要工作有以下几个方面:(1)通过对非局部均值去噪算法的分析,在Intel MIC架构上提出了基于OpenMP和OpenCL的并行非局部均值去噪算法。在算法中,将每个像素的去噪过程放在MIC核的一个线程上执行,实现串行算法的并行化,之后与串行算法进行对比,利用去噪后图像的PSNR指标,验证了两种并行算法的有效性和正确性。研究了不同的搜索窗和相似窗大小,对两种并行算法的去噪性能和加速性能的影响。分析了基于OpenMP的并行算法在卸载模式下,不同线程数对并行性能的影响,为了进一步提高并行算法的性能,结合MIC平台的特点,通过SIMD指令对其进行优化,之后研究了并行算法在原生模式、卸载模式和经SIMD优化后的卸载模式下的并行性能,最高获得了47倍的加速比。研究了不同网格划分对基于OpenCL的并行算法的并行性能的影响,对OpenCL平台初始化时间和kernel计算时间进行了分析,最高获得了56倍的加速比。最后与基于OpenMP的并行算法,在Intel MIC架构上的性能进行了比较分析。(2)针对免疫优势克隆选择算法应用于图像特征选择比较耗时的问题,对串行算法中克隆、交叉变异、亲和度计算、选择等多个算子进行了并行化,提出了在Intel MIC架构上的基于OpenMP和OpenCL的并行免疫优势克隆选择算法。通过与串行算法从分类精确率、特征子集维度和算法收敛趋势三个方面进行了比较,验证了两种并行算法的有效性和正确性。研究了基于OpenMP的并行算法在卸载模式下,不同线程时的加速性能,之后分析了基于OpenCL的并行算法的初始化时间和kernel计算时间,最后在Intel MIC架构上对基于OpenMP和OpenCL的两种并行算法的性能进行了比较分析。本文的研究得到了国家自然科学基金(No.61303032,No.61672405)、西安电子科技大学基本科研业务费资助项目(No.BDY121427,No.JB160209)的资助。