本披露一般地涉及计算机领域。更具体地,本披露涉及生成表达向量运算的中间表示指令的编译器、集成电路装置、板卡、方法、计算机可读存储介质、计算机程序产品及计算机装置。
背景技术:
1、向量计算在目前计算机领域的需求十分庞大,常见的处理方式是利用单指令多数据的向量化,例如x86处理器上的单指令多数据流扩展(streaming simd extensions,sse)、高级矢量扩展(advanced vector extensions,avx)与avx512f向量指令集,或是arm处理器的advsimd与可伸缩矢量扩展(scalable vector extension,sve)向量指令集等,可以看出随着体系结构的发展,处理器向量宽度正在逐步加宽并变得更加灵活可用。
2、上述这些向量处理方式通常需要人工将指令导入高级程序设计语言编写的程序中,一方面部分系统不开源,另一方面使用串行加单线程的计算模式来实现向量计算的资源利用率低。因此一种加速向量运算的方案是迫切需要的。
技术实现思路
1、为了至少解决如上所提到的一个或多个技术问题,本披露在多个方面中提出了生成表达向量运算的中间表示指令的编译器、集成电路装置、板卡、方法、计算机可读存储介质、计算机程序产品及计算机装置。
2、在第一方面中,本披露提供一种生成表达向量运算的中间表示指令的编译器,包括类型生成元件及暂存器指派元件。类型生成元件用以在中间表示指令中生成运算域,运算域记载数据类型为向量;暂存器指派元件用以在中间表示指令中生成数据域,数据域记载被指派的暂存器的地址,暂存器存储向量运算的输入向量与输出向量。
3、在第二方面中,本披露提供一种集成电路装置,包括上述的编译器。本披露还提供一种板卡,包括上述的集成电路装置。
4、在第三方面中,本披露提供一种生成表达向量运算的中间表示指令的方法,包括:在中间表示指令中生成运算域,运算域记载数据类型为向量;在中间表示指令中生成数据域,数据域记载被指派的暂存器的地址,暂存器存储向量运算的输入向量与输出向量。
5、在第四方面中,本披露提供一种计算机可读存储介质,其上存储有生成表达向量运算的中间表示指令的计算机程序代码,当计算机程序代码由处理装置运行时,执行上述的方法。
6、在第五方面中,本披露提供一种计算机程序产品,包括生成表达向量运算的中间表示指令的计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
7、在第六方面中,本披露提供一种计算机装置,包括存储器、处理器及存储在存储器上的计算机程序,处理器执行计算机程序以实现上述方法的步骤。
8、通过直接将标量程序向量化,生成标示有向量信息的中间表示指令,在编译后形成机器代码,计算机基于这样的机器代码直接处理向量运算,在无需改动硬件的前提下,大幅提升了向量运行效率和性能。
1.一种生成表达向量运算的中间表示指令的编译器,其特征在于,包括:
2.根据权利要求1所述的编译器,其中所述运算域还记载所述数据类型为浮点数或定点数。
3.根据权利要求1所述的编译器,其中所述数据域包括输入数据域及输出数据域,所述输入数据域记载被指派的输入暂存器的地址,所述输入暂存器存储所述向量运算的输入向量,所述输出数据域记载被指派的输出暂存器的地址,所述输出暂存器存储所述向量运算的输出向量。
4.根据权利要求1所述的编译器,其中所述数据域包括谓词域,所述谓词域记载被指派的谓词暂存器的地址,所述谓词暂存器存储所述向量运算是否执行的数值。
5.根据权利要求4所述的编译器,其中所述数值对应至所述向量运算的掩码操作,当所述数值为真时,所述中间表示指令被执行,当所述数值为假时,所述中间表示指令不被执行。
6.根据权利要求5所述的编译器,还包括:
7.根据权利要求6所述的编译器,其中所述标量优化元件将冗余的中间表示指令的所述谓词暂存器的数值设定为假。
8.根据权利要求1所述的编译器,还包括:
9.根据权利要求8所述的编译器,其中所述窥孔优化元件判断所述多个相邻中间表示指令是否满足特定格式,如是,合并所述多个相邻中间表示指令。
10.一种集成电路装置,包括根据权利要求1至9任一项所述的编译器。
11.一种板卡,包括根据权利要求10所述的集成电路装置。
12.一种生成表达向量运算的中间表示指令的方法,其特征在于,包括:
13.根据权利要求12所述的方法,其中所述数据域包括谓词域,所述谓词域记载被指派的谓词暂存器的地址,所述谓词暂存器存储所述向量运算是否执行的数值。
14.一种计算机可读存储介质,其上存储有生成表达向量运算的中间表示指令的计算机程序代码,当所述计算机程序代码由处理装置运行时,执行权利要求12或13所述的方法。
15.一种计算机程序产品,包括生成表达向量运算的中间表示指令的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求12或13所述方法的步骤。
16.一种计算机装置,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求12或13所述方法的步骤。