面向飞腾迈创数字处理器的内核代码自动生成框架
2023-06-07赵宵磊陈照云张春元
计算机研究与发展 2023年6期
赵宵磊 陈照云 时 洋 文 梅 张春元
(国防科技大学计算机学院 长沙 410073)
数字信号处理器(digital signal processor,DSP)通常采用超长指令字(very long instruction word,VLIW)和单指令多数据(single instruction multiple data,SIMD)的体系结构设计[1-3].VLIW 和SIMD 提高了在处理器上执行各种应用程序时的计算性能、实时处理能力和能效比.作为具有该典型架构的通用高性能的DSP之一,飞腾迈创数字处理器(FT-Matrix)利用了灵活的标向量硬件单元协同与多层次并行性挖掘来提高处理器的整体性能与效能[1].
然而,绝大多数处理器上极致性能的释放依然依赖于高度优化的内核代码[2],例如核心算法库等.由于通用编译器对于特定的体系结构指令或硬件优势的支持有限,不能很好地平衡可编程性和能效比,因此极致优化的内核代码通常采用手工汇编级优化或基于底层汇编级的工具开发.然而,手工编写优化内核级代码需要大量的时间和劳动成本,尤其是对于VLIW+SIMD 架构的处理器,如何充分挖掘数据重用与潜在的并行性是一个重大的挑战.
一般地,一名资深工程师可能会耗费几个月的时间来对一个新的内核函数进行针对硬件的深度优化.因此,面向以飞腾迈创为代表的VLIW+SIMD 处理器架构,设计一个高性能内核代码自动生成工具是必要的.这可以将开发人员从繁重的内核代码优化和函数库开发的负担中解放出来.
目前,针对CPU 和GPU 等通用处理器和加速器上的代码自动优化和生成已是领域的研究热点.传统的代码优化手段(如重复访存和内联等)已不……
登录APP查看全文
