【技术实现步骤摘要】
基于张量的编译方法、设备及其计算机可读存储介质
[0001]本公开一般地涉及程序编译领域
。
更具体地,本公开涉及一种基于张量的编译方法
、
用于执行前述方法的设备和计算机可读存储介质
。
技术介绍
[0002]常量传播是广泛应用于编译操作的高级中间表达
(“Intermediate Representation”,
IR)
阶段优化方法之一
。
通过该常量传播,可以解决在运行时静态检测代码表达式是否总是求值为唯一常数的问题
。
如果在程序调用过程时知道哪些变量将具有常量值以及这些值将是什么,则编译器可以在编译期间简化常数
。
就当前的应用形式来说,常量传播算法通常有简单常量传播
(“Simple Constant Propagation”)、
稀疏简单常量传播
(“Sparse Simple Constant Propagation”)、
条件常量传播
(“Conditio ...
【技术保护点】
【技术特征摘要】
1.
一种基于张量的编译方法,包括:针对编译操作的中间表达阶段的每个基本块,创建和维护对应的第一数据结构,其中所述第一数据结构包括寄存器编号以及与张量数据属性关联的属性标识;以及基于所述第一数据结构,遍历每个基本块中的语句,以便处理使用张量寄存器的使用语句和
/
或创建张量寄存器的创建语句
。2.
根据权利要求1所述的编译方法,其中遍历每个基本块中的语句,以便处理所述使用语句包括:判断遍历到的当前语句是否是使用所述张量寄存器的使用语句;响应于遍历到的所述当前语句是所述使用语句,获取所述使用语句中的张量寄存器参数;以及根据张量寄存器参数指示的寄存器编号从所述第一数据结构中获取对应的属性标识,以执行所述使用语句
。3.
根据权利要求2所述的编译方法,其特征在于,所述方法还包括:将所述属性标识与所述张量寄存器参数的属性标识项关联
。4.
根据权利要求1所述的编译方法,其中遍历每个基本块中的语句,以便处理所述创建语句包括:判断遍历到的当前语句是否是创建语句;响应于遍历到的当前语句是创建语句,根据所述创建语句的张量寄存器参数所指示的寄存器编号,利用所述第一数据结构获取对应的属性标识,以创建出所述张量寄存器
。5.
根据权利要求4所述的编译方法,还包括:在执行完创建张量寄存器的创建语句后,将创建的张量寄存器的寄存器编号与属性标识进行关联,并记录至所述第一数据结构
。6.
根据权利要求5所述的编译方法,其中将创建的张量寄存器的寄存器编号与属性标识进行关联,并记录至所述第一数据结构包括:判断所述创建语句是否包含谓词;以及根据所述创建语句是否包含谓词来执行对应操作,以便将所述寄存器编号与对应的属性标识记录至所述第一数据结构
。7.
根据权利要求6所述的编译方法,还包括:响应于判断所述创建语句不包含谓词,将所述寄存器编号和对应的属性标识记录至所述第一数据结构
。8.
根据权利要求6所述的编译方法,还包括:响应于判断所述创建语句包含谓词并且所述对应的属性标识无效,则将设置为无效值的属性标识和对应的寄存器编号记录至所述第一数据结构中
。9...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:上海寒武纪信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。