多域异构算子场处理器、异构算子芯粒系统及执行方法

摘要: 本发明实施例涉及数据处理,尤其涉及一种多域异构算子场处理器、异构算子芯粒系统及执行方法。背景技术:1、目前,现有通用中央处理器通常以标量指令、向量指令和存储访问...
多域异构算子场处理器、异构算子芯粒系统及执行方法

本发明实施例涉及数据处理,尤其涉及一种多域异构算子场处理器、异构算子芯粒系统及执行方法。

背景技术:

1、目前,现有通用中央处理器通常以标量指令、向量指令和存储访问指令作为基本架构对象;图形处理器通常以线程、线程束、向量运算和大规模并行乘加运算作为主要执行方式;张量处理器或神经网络处理器通常以矩阵乘法、卷积和张量乘加作为主要计算原语。上述处理器能够通过软件组合实现微分、积分、拉普拉斯、梯度、散度、旋度、傅里叶变换、图拉普拉斯、数值积分和哈密顿状态演化等数学运算,但处理器在执行阶段一般只能观察加载、存储、乘法、加法、比较、分支和同步等低层操作,不能直接识别数学算子的完整语义。

2、可见,亟需一种新的处理器体系结构,在硬件层保留数学算子和物理约束语义,统一管理场-状态对象,在多个数学表示域和硬件执行域之间选择路径,将边界条件和守恒律纳入执行闭环,并通过单芯片或异构芯粒形式实现可扩展部署。

技术实现思路

1、有鉴于此,本发明实施例提供一种多域异构算子场处理器、异构算子芯粒系统及执行方法,至少部分解决现有技术中存在的问题。

2、第一方面,本发明实施例提供了一种多域异构算子场处理器,包括:

3、算子图接口,用于接收由至少一个数学算子节点以及数学算子节点之间的数据依赖关系构成的算子图;

4、统一算子描述符解析单元,用于解析与数学算子节点对应的统一算子描述符,其中,所述统一算子描述符包括算子类别、作用数据对象、网格或拓扑结构、边界条件、数值离散方式、数值精度、误差阈值、守恒律或结构约束以及候选执行域信息;

5、场-状态对象管理单元和场-状态存储系统,用于管理和存储数学算子所作用的场数据、状态变量、网格数据、拓扑数据、边界数据、历史状态和中间计算结果;

6、多域选择与调度单元,用于基于统一算子描述符、输入数据特征、硬件资源状态以及预设的性能-精度约束,生成至少两个候选执行路径,并从中确定目标执行路径;

7、异构算子执行阵列,包括至少两种具有不同数据访问模式、计算结构或数值执行方式的算子执行单元,用于按照目标执行路径执行对应数学算子;

8、边界条件硬件引擎,用于根据统一算子描述符中的边界条件,在数学算子执行之前或执行过程中生成、更新或交换边界数据;

9、守恒律与误差控制单元,用于计算数学算子执行结果对应的数值残差、误差估计值或守恒量偏差,并根据计算结果生成状态提交指令或者执行参数调整、数值算法切换、执行路径切换及重新执行指令;以及,

10、互连网络,用于在算子图接口、统一算子描述符解析单元、场-状态存储系统、多域选择与调度单元、异构算子执行阵列、边界条件硬件引擎以及守恒律与误差控制单元之间传输场数据、状态数据、统一算子描述符和控制信息;

11、其中,所述候选执行路径由数学表示域、数值算法、数值精度和硬件执行域共同限定,所述多域选择与调度单元、边界条件硬件引擎以及守恒律与误差控制单元构成路径选择-边界配置-算子执行-结果校验-状态提交或路径重构的闭环执行通路。

12、根据本发明实施例的一种具体实现方式,所述统一算子描述符采用固定长度编码、可变长度编码、分层编码或者基础描述符与扩展描述符组合编码,并表示为:

13、;

14、式中,为第个数学算子节点的统一算子描述符;为算子类别;为算子阶数和算子参数;为输入场对象和输出场对象;为网格、图或拓扑结构;为边界条件;为数值离散方式;为数值精度和数据格式;为误差阈值;为守恒律或结构约束;为候选执行域;为失效回退和恢复策略。

15、根据本发明实施例的一种具体实现方式,所述场-状态对象管理单元为场对象或状态对象建立对象描述符,所述对象描述符表示为:

16、;

17、式中,为基础地址或分布式地址;为数据形状;为数据布局和步幅;为晕区或重叠区宽度;为坐标、网格或拓扑索引;为物理量单位或量纲标识;为时间层或状态版本;为有效性、所有权和一致性状态;所述场-状态存储系统根据所述对象描述符执行分块、地址生成、邻域预取、晕区缓存、版本管理和中间结果驻留。

18、根据本发明实施例的一种具体实现方式,所述候选执行路径表示为:

19、;

20、其中,为第m条候选执行路径;为数学表示域;为硬件执行域;为数值算法;为数值精度;所述数学表示域包括局部物理空间域、频谱域、稀疏矩阵域、图域、状态空间域、相空间域、低秩域和多分辨率域中的至少两种,所述硬件执行域包括数字定点执行域、数字浮点执行域、混合精度执行域、数字存内执行域、模拟存内执行域、光学执行域、可重构逻辑执行域以及外部处理器回退执行域中的至少两种。

21、根据本发明实施例的一种具体实现方式,所述多域选择与调度单元针对每条候选执行路径计算综合代价:

22、;

23、;

24、式中,、、、和分别为预测执行时延、预测能耗、预测数值误差、预测数据搬运量和资源冲突或执行风险惩罚,、、、和为对应权重,为满足边界条件、数值精度、存储容量、硬件可用性以及守恒律或结构约束的可行路径集合,为目标执行路径,表示第m条候选执行路径的综合代价函数值,用于综合衡量该路径在执行时延、能耗、数值误差、数据搬运量以及资源冲突或执行风险方面的总体代价;m为候选执行路径的索引。

25、根据本发明实施例的一种具体实现方式,所述多域选择与调度单元还用于识别算子图中具有共同输入数据、共同邻域数据、相同网格或拓扑结构或者连续数据依赖关系的多个数学算子节点,将满足融合条件的多个数学算子节点合成为复合算子,并为复合算子的中间对象分配片上存储空间或跨执行单元旁路通道;当片上存储容量不足、存在多消费者依赖、守恒律检查点不可跨越或者目标执行单元不可用时,将复合算子拆分并回退为独立执行。

26、根据本发明实施例的一种具体实现方式,所述异构算子执行阵列包括局部微分算子执行单元,所述局部微分算子执行单元包括可重构邻域数据读取电路、行缓冲区或面缓冲区、晕区缓冲区、可编程模板系数存储电路、加权运算阵列、局部归约电路以及网格尺度修正电路,并被配置为执行偏导数、梯度、散度、旋度、hessian算子、拉普拉斯算子、有限差分算子、有限体积通量算子或者局部卷积算子;其中,针对二维均匀网格的五点拉普拉斯离散,所述局部微分算子执行单元按照下式生成输出:

27、;

28、其中,表示二维均匀网格中索引为(i,j)的网格节点处场变量的数值;、、和分别表示该节点在两个坐标方向上的四个相邻网格节点处场变量的数值;i、j分别为两个空间坐标方向上的离散网格索引;h表示均匀网格的空间步长,即相邻网格节点之间的距离;表示场变量u在节点(i,j)处的拉普拉斯算子值,用于表征该场变量在该位置的局部空间曲率或扩散强度。

29、根据本发明实施例的一种具体实现方式,所述异构算子执行阵列包括积分与状态演化算子执行单元,所述积分与状态演化算子执行单元包括当前状态寄存器、历史状态缓冲区、导数或增量缓冲区、反馈数据通路、时间步长控制电路、局部误差估计器以及状态提交与回退电路,并被配置为针对状态方程执行显式积分、隐式积分、预测-校正积分、自适应时间步积分或结构保持积分;在显式euler执行方式下,候选状态按照下式生成:

30、;

31、其中,表示系统状态,表示物理时间,表示第n个时间层的系统状态;表示由显式euler方法计算得到的下一时间层候选状态;n表示离散时间步编号;表示第n个时间层对应的物理时间;表示相邻两个时间层之间的时间步长;表示状态方程在状态和时间处的状态变化率或时间导数,其物理意义为系统状态随时间的瞬时演化速度。

32、根据本发明实施例的一种具体实现方式,所述异构算子执行阵列包括谱域算子执行单元,所述谱域算子执行单元包括正变换电路、转置或重排网络、谱系数存储电路、谱系数运算电路以及逆变换电路,并被配置为针对同一数学算子在局部空间域实现方式和谱域实现方式之间选择;其中,对周期边界条件下的拉普拉斯算子,所述谱域算子执行单元按照下式执行谱系数映射:

33、;

34、其中,u表示物理空间中的标量场变量;表示u的拉普拉斯算子,用于描述场变量的空间二阶变化、扩散或曲率特征;表示傅里叶变换算子;表示频谱域中的波数向量,对应空间频率;表示波数向量k的欧氏模,表示总空间波数的平方;表示场变量u的傅里叶频谱系数;表示拉普拉斯算子作用结果在频谱域中的表示,该关系表明,在周期边界条件下,物理空间中的拉普拉斯运算可等效转换为频谱域中与的逐频点乘法。

35、根据本发明实施例的一种具体实现方式,所述异构算子执行阵列包括稀疏图算子执行单元,所述稀疏图算子执行单元包括拓扑索引解析电路、邻接数据缓存、聚集数据通路、分发数据通路、稀疏乘加阵列、写冲突处理电路和动态负载均衡电路,并被配置为执行稀疏矩阵-向量运算、图消息传递、非结构网格邻域运算、有限元装配运算或图扩散运算;其中,图拉普拉斯矩阵及其作用结果分别表示为:

36、;

37、其中,l为图拉普拉斯矩阵,用于表征图或非结构网格上节点之间的离散扩散与耦合关系;d为度矩阵,其对角元表示相应节点的度或相邻边权之和;a为邻接矩阵,其元素表示节点之间的连接关系或耦合权重;x为输入节点场值或状态向量;y为图拉普拉斯算子作用后的输出向量。

38、根据本发明实施例的一种具体实现方式,所述异构算子执行阵列包括哈密顿与结构保持算子执行单元,所述哈密顿与结构保持算子执行单元包括哈密顿函数求值电路、状态梯度计算电路、反对称结构映射电路、状态分裂电路、辛积分状态更新电路以及能量或辛结构检测接口,并被配置为执行满足下式的哈密顿状态演化:

39、;

40、其中,z为系统的相空间状态向量,通常由广义位置q和广义动量p组成;t为物理时间;为哈密顿函数,物理上表征系统总能量或相应守恒量;为h关于状态向量z的梯度,表征能量对各状态分量的变化率;j为反对称结构矩阵或辛结构矩阵,用于将能量梯度映射为状态演化方向;为j的转置,表示该结构矩阵具有反对称性;

41、所述哈密顿与结构保持算子执行单元被配置为执行symplectic euler、leapfrog、verlet、störmer—verlet、算子分裂或泊松括号运算中的至少一种。

42、根据本发明实施例的一种具体实现方式,所述边界条件硬件引擎包括边界描述符寄存器、边界节点识别电路、边界参数存储区、虚拟网格单元生成电路、边界值或边界通量计算电路、周期地址映射电路、跨区域边界交换电路以及多物理场耦合界面处理电路,并至少支持预设边界条件中的一种,其中,所述预设边界条件包括dirichlet边界条件、neumann边界条件和robin边界条件,所述dirichlet边界条件的表达式为:

43、或;

44、其中,为待求场变量;为计算域;为计算域边界;表示在边界位置处给定的dirichlet边界值,即在边界上预先给定的场值函数,表示在边界处直接规定的取值;

45、所述neumann边界条件的表达式为:

46、;

47、其中,n为边界上的外法向单位向量;为沿边界外法向的方向导数,物理上可对应法向梯度、热流密度或通量;表示在边界位置 x 处给定的neumann 法向导数或边界通量;

48、所述robin边界条件的表达式为:

49、;

50、其中,a和b为分别作用于场值项与法向导数项的边界系数;表示在边界位置处给定的 robin混合边界函数或边界激励;

51、所述边界条件硬件引擎还支持周期边界条件、吸收边界条件、对称或反射边界条件、不连续界面条件以及多物理场耦合边界条件。

52、根据本发明实施例的一种具体实现方式,所述守恒律与误差控制单元包括局部误差估计器、残差计算器、守恒量归约器、阈值比较器以及状态提交与回退单元,并针对守恒量计算归一化偏差:

53、;

54、式中,为前一已提交状态的守恒量,为当前候选状态的守恒量,为边界输入、源项或外部作用导致的理论变化量,为正数;当归一化偏差不大于对应阈值时提交候选状态,当归一化偏差大于对应阈值时,触发局部重算、全局重算、数值精度调整、时间步长调整、迭代次数调整、数值算法切换、数学表示域切换、硬件执行域切换或状态回滚中的至少一种,其中,为守恒量q的归一化偏差,表征数值演化后守恒量相对于理论变化的相对失配程度;n为已提交状态的离散时间层或状态版本索引;为防止分母为零并提高小量计算稳定性的正则化常数。

55、根据本发明实施例的一种具体实现方式,所述场-状态存储系统包括场数据存储区、状态历史存储区、邻域数据缓冲区、边界数据存储区、拓扑索引存储区、算子系数存储区、谱系数存储区以及中间结果存储区;所述邻域数据缓冲区用于在相邻网格区域、相邻计算分块、相邻处理核或相邻芯粒之间缓存和交换重叠区域数据或边界晕数据,所述状态历史存储区用于保存已提交状态和候选状态,并在守恒律或误差检查未通过时恢复至最近一次已提交状态。

56、根据本发明实施例的一种具体实现方式,所述异构算子执行阵列包括数字逻辑计算单元、数字存内计算单元、模拟存内计算单元和光学计算单元中的至少两种;

57、所述多域选择与调度单元根据数值精度要求、输入动态范围、校准状态、数据转换开销、计算能耗和硬件健康状态选择执行单元;

58、在采用模拟存内计算单元获得候选解时,数字逻辑计算单元按照下式计算残差:

59、;

60、其中,为线性系统的残差范数,用于度量候选解对离散方程的满足程度;为系统矩阵或离散数学算子;为模拟存内计算单元获得的候选解向量;为线性系统右端项或外部激励向量;表示预设的向量范数;

61、当残差满足预设阈值时接受候选解;

62、当残差不满足预设阈值时,将候选解作为数字迭代精化的初值,或者切换至数字逻辑计算单元重新执行。

63、根据本发明实施例的一种具体实现方式,还包括运行时路径更新单元,用于采集各候选执行路径的实际时延、实际能耗、数据搬运量、数值误差、守恒量偏差、执行失败率、温度或校准状态,并基于统计平均、指数加权移动平均、递推最小二乘、查找表修正或定点在线学习中的至少一种方式更新路径代价模型;更新后的模型先写入影子参数表,经质量门控通过后原子提交,在更新失败、性能退化或异常漂移时恢复至最近一次有效模型检查点。

64、第二方面,本发明实施例提供了一种异构算子芯粒系统,包括:

65、控制芯粒,所述控制芯粒包含统一算子描述符解析单元和多域选择与调度单元,用于接收算子图、解析或生成与数学算子节点对应的统一算子描述符,并根据统一算子描述符、输入数据特征和各异构算子芯粒的资源状态生成至少两个候选执行路径,从中确定目标执行路径;

66、至少两个异构算子芯粒,所述至少两个异构算子芯粒具有不同的数据访问模式、运算结构或数值执行方式,并构成异构算子执行阵列,分别用于执行局部微分运算、积分与状态演化运算、谱域运算、稀疏图运算、哈密顿与结构保持运算以及线性或非线性方程求解运算中的不同运算,且每个异构算子芯粒按照所述控制芯粒确定的所述目标执行路径执行对应数学算子;

67、存储芯粒,用于存储场数据、状态数据、网格数据、拓扑数据、边界数据、算子系数和中间结果;

68、芯粒互连网络,用于在控制芯粒、异构算子芯粒和存储芯粒之间传输统一算子描述符、场数据、状态数据、边界晕数据、执行结果和控制信息;

69、跨芯粒边界条件处理模块,用于根据统一算子描述符中的边界条件生成、更新或交换跨芯粒边界数据;以及,

70、全局守恒律与误差控制模块,用于计算数学算子执行结果对应的数值残差、误差估计值或全局守恒量偏差,并根据计算结果生成状态提交指令或执行参数调整、数值算法切换、执行路径切换、局部重算及全局重算指令;

71、其中,所述控制芯粒根据各异构算子芯粒的能力描述、运行状态和所述统一算子描述符,选择目标异构算子芯粒,并在目标异构算子芯粒失效或全局守恒律与误差控制模块的校验不通过时,将相应数学算子迁移至备用异构算子芯粒;所述控制芯粒、异构算子芯粒、跨芯粒边界条件处理模块和全局守恒律与误差控制模块构成跨芯粒的路径选择-边界配置-算子执行-结果校验-状态提交或路径重构闭环执行通路。

72、根据本发明实施例的一种具体实现方式,每个所述异构算子芯粒均设置有标准化算子接口和芯粒能力描述寄存器;

73、所述标准化算子接口至少包括统一算子描述符输入通道、场数据输入通道、状态数据输入通道、边界数据输入通道、执行结果输出通道和误差状态输出通道;

74、所述芯粒能力描述寄存器至少记录所支持的算子类别、数据类型、数值精度、最大问题规模、局部存储容量、边界条件类型、数学表示域、守恒律检测类型、当前负载、当前温度、当前功耗、当前校准状态和当前错误状态中的至少六项。

75、根据本发明实施例的一种具体实现方式,所述芯粒互连网络包括控制网络、数据网络和守恒量归约网络;

76、所述控制网络用于传输统一算子描述符、调度指令、异常信息和完成信息;

77、所述数据网络用于传输场数据、状态数据、拓扑数据、谱系数和边界晕数据;

78、所述守恒量归约网络用于传输局部守恒量、局部残差和全局归约结果;

79、所述控制芯粒被配置为使连续执行且共享中间数据的多个数学算子节点优先在同一异构算子芯粒或者共享局部存储器的多个异构算子芯粒上执行。

80、根据本发明实施例的一种具体实现方式,所述控制芯粒为跨多个异构算子芯粒执行的数学算子生成子算子描述符,将全局场对象划分为多个局部场对象,并基于局部场对象之间的邻接关系建立边界晕交换表;

81、所述全局守恒律与误差控制模块在各局部结果返回后执行全局归约,并在局部异常而全局误差未超过阈值时仅重算异常局部场对象,在全局误差或守恒量偏差超过阈值时回滚全部相关局部场对象。

82、第三方面,本发明实施例还提供了一种多域异构算子图执行方法,包括:

83、接收包含多个数学算子节点及其数据依赖关系的算子图;

84、为各数学算子节点获取或生成统一算子描述符,其中,所述统一算子描述符至少包括算子类别、作用数据对象、网格或拓扑结构、边界条件、数值离散方式、数值精度、误差阈值、守恒律或结构约束以及候选执行域信息;

85、根据统一算子描述符、输入数据特征和硬件资源状态生成至少两个候选执行路径,每个候选执行路径由数学表示域、数值算法、数值精度和硬件执行域共同限定;

86、过滤不满足边界条件、数值精度、存储容量、硬件可用性或守恒律约束的候选执行路径,并从剩余候选执行路径中确定目标执行路径;

87、配置场-状态存储系统和边界条件硬件引擎,以生成、更新或交换数学算子执行所需的边界数据;

88、将数学算子节点调度至与目标执行路径对应的异构算子执行单元或异构算子芯粒;

89、获取执行结果并计算数值残差、误差估计值或守恒量偏差;

90、在数值残差、误差估计值和守恒量偏差满足对应阈值时提交或传递执行结果;在至少一项不满足对应阈值时,调整数值精度、时间步长、迭代次数、数值算法、数学表示域、硬件执行域、算子执行单元或算子芯粒中的至少一项,并重新执行相应数学算子节点。

91、根据本发明实施例的一种具体实现方式,所述根据统一算子描述符、输入数据特征和硬件资源状态生成至少两个候选执行路径的步骤,包括:

92、针对同一数学算子建立局部物理空间域执行路径、频谱域执行路径、稀疏矩阵域执行路径、图域执行路径、状态空间域执行路径、模拟存内执行路径、光学执行路径或外部处理器回退执行路径中的至少两种;分别估计各候选执行路径的执行时延、能耗、数值误差、数据搬运量、存储占用量和执行风险;并基于加权代价、pareto优选、查找表、规则树、在线性能模型或轻量机器学习模型中的至少一种方式确定目标执行路径。

93、根据本发明实施例的一种具体实现方式,配置所述边界条件硬件引擎的步骤,包括:

94、根据场对象的全局坐标、局部坐标和边界标签识别内部节点、物理边界节点、计算分块边界节点、芯粒边界节点或多物理场耦合界面节点;

95、针对物理边界节点生成边界值、虚拟网格单元值或边界通量;针对计算分块边界节点或芯粒边界节点请求并交换相邻区域的边界晕数据;

96、针对多物理场耦合界面节点执行插值、坐标变换、单位换算和通量匹配中的至少一种。

97、根据本发明实施例的一种具体实现方式,所述重新执行相应数学算子节点的步骤,包括:

98、将当前执行结果标记为候选状态而不覆盖已提交状态;

99、根据局部误差和全局误差确定局部重算或全局重算范围;

100、在误差超限时减小时间步长、提高数值精度、增加迭代次数、切换预条件器、由显式积分切换为隐式积分或结构保持积分、由模拟执行域切换为数字执行域或者由局部物理空间域切换为频谱域;并在重新执行结果满足对应阈值后将候选状态提交为有效状态。

101、根据本发明实施例的一种具体实现方式,还包括:

102、识别具有共同输入数据、共同邻域数据、相同网格或拓扑以及连续数据依赖关系的多个数学算子节点;

103、在中间结果不存在外部消费者、融合不跨越强制误差或守恒律检查点且片上存储资源满足要求时,将多个数学算子节点融合为复合算子;

104、使复合算子的中间结果在邻域缓冲区、状态缓冲区、谱系数缓存或局部共享存储器中驻留;

105、在融合执行失败、片上存储不足或者目标执行单元不可用时,将复合算子拆分并根据原始数据依赖关系重放。

106、根据本发明实施例的一种具体实现方式,还包括:

107、采集各候选执行路径在不同数据规模、边界条件、数值精度和硬件状态下的实际执行时延、实际能耗、数据搬运量、数值误差、守恒量偏差和执行失败信息,并依据所采集的各项信息更新路径代价模型和路径置信度;

108、在检测到硬件温度变化、器件漂移、校准失效或预测误差持续超过阈值时,提高安全执行路径的优先级或者增加探索执行比例;将更新后的模型写入影子参数区,经质量门控通过后提交,并在模型更新导致性能退化或错误率升高时恢复至最近一次有效模型检查点。

109、本发明实施例的有益效果为:

110、(1):保留数学算子、边界条件和守恒律语义,使硬件调度能够利用高层数值信息;

111、(2):使同一算子可在空间域、频谱域、稀疏域、图域、数字域、模拟存内域或其他执行域之间自适应选择;

112、(3):通过场—状态对象、晕区缓存和算子融合减少片外数据搬运和中间结果写回;

113、(4):通过边界条件硬件引擎降低边界分支、边界预处理和跨分块通信开销;

114、(5):通过误差与守恒律闭环提高长时间演化、混合精度和近似计算的数值可靠性;

115、(6):通过异构算子芯粒和能力发现接口提高系统可扩展性、故障迁移能力及工艺组合灵活性;

116、(7):能够统一支持规则网格、非结构网格、稀疏图、状态演化、频谱计算及数字—模拟混合计算。