宁成明,蔡恒雨,郑启龙,2,耿 锐
1(中国科学技术大学 计算机科学与技术学院,合肥 230026)2(中国科学技术大学 高性能计算安徽省重点实验室,合肥 230026)3(安徽芯纪元科技有限公司,合肥 230088)
随着信息化的发展,CPU在处理海量数据时遇到越来越多的性能瓶颈,而且由于多核心处理器的结构复杂,功耗过高使得仅仅增加CPU的核心数无法解决CPU所面临的性能瓶颈[1].在这样的背景下,通过使用CPU与多种计算设备互联组成的异构计算系统加速计算任务已经成为并行计算领域的研究热点之一.
HXDSP系列处理器是由中国电子科技集团公司第三十八所在单核BWDSP100处理器基础上自主研制的双核DSP处理器.每个处理器核都采用分簇架构,最大工作频率为500Mhz,能达到30GOPS和8GFMACS的运算能力,可以满足多种高性能计算领域的需求.设计面向HXDSP的异构计算框架能够充分利用HXDSP的优势,发挥HXDSP的高效计算能力,提高异构系统的处理性能.尤其是在信号处理[2],深度学习[3],数据分析[4]等应用领域,大量的数据和密集的计算迫切需要异构加速.因此设计面向HXDSP的异构计算框架具有重要的学术价值和实用价值.
目前,国际上针对不同的异构系统提出了许多异构并行编程模型,主要有CUDA[5],OpenCL[6],C++AMP[7],OpenACC[8]等,其中CUDA和OpenCL应用最为广泛.虽然CUDA和OpenCL的目标都是通用并行计算,但是也存在着明显的差异.首先,在通用性方面,CUDA由NVIDIA提出并且只能运行在NVIDIA的GPU上,对于其它厂商的计算设备无法适用.OpenCL是由Khronos Group提出的一个跨平台的异构计算的工业……