基于量子信息学的芯片和芯片化EDA装置的制作方法

文档序号:26007345发布日期:2021-07-23 21:26阅读:103来源:国知局
基于量子信息学的芯片和芯片化EDA装置的制作方法

本申请涉及集成电路技术领域,具体涉及基于量子信息学的芯片和芯片化eda装置。



背景技术:

集成电路(integratedcircuit,ic)有时也称作芯片,ic将数量巨大的晶体管、二极管、电阻、电容和电感等各种元件以及布线通过半导体工艺集成在晶圆片上成为具有特定功能的电路。例如超大规模集成电路(verylargescaleintegration,vlsi)可以在微米尺寸的硅片上集成数百万个晶体管以及这些晶体管之间复杂的布线。因为需要一次性制作完成晶体管及其它元件和布线,所以ic生产的工时和费用深受ic设计的影响。其中,ic设计流程一般从规格制定开始也就是对ic芯片的目的和效能以及需要满足的协定标准等作出设定,并进行功能分配和单元划分;接着用硬件描述语言(hardwaredescriptionlanguage,hdl)例如常见的veriloghdl对电路系统的硬件行为、结构及数据流进行描述;然后通过电子设计自动化(electronicdesignautomation,eda)工具,将hdl代码转换成逻辑电路图,并进行仿真验证;最后通过eda工具的自动综合功能将逻辑电路图转换到门级电路网表,进行电路布局和绕线从而得到具体电路布线结构。随着系统级芯片(systemonchip,soc)的广泛应用以及单个ic上集成的硬件规模和复杂程度增加,ic设计中需要考虑软硬件协调设计以及ic设计环节对后续硬件制造过程的影响。其中,eda工具在整个ic设计流程中发挥重要作用,是连接顶层的逻辑设计与具体硬件实现之间的桥梁。一般情况下,eda工具需要对整个逻辑设计所代表的求解空间进行求解从而得到可行的逻辑电路图,有些eda工具的供应商通过模块化设计和标准化仿真模型降低这一求解过程的耗时和复杂性,但是无法很好应对需求复杂多变的发展趋势。另外,传统的eda工具在自动综合时往往需要部署大量闲置硬件资源来完成具体电路布线,从而造成硬件资源利用率低,也无法很好应对边缘应用等发展趋势。另外,一般需要专门的计算设备执行eda工具的生成逻辑电路图及自动综合功能,而随着ic的规模和复杂程度日益增加,这样做增加了ic设计的耗时不利于快速响应需求,另外也不利于针对需求变化进行自适应调整。

有一类ic作为计算机的运算和控制核心,叫做中央处理器(centralprocessingunit,cpu)。cpu通过指令集来执行计算机的软件层操作和数据运算。cpu一般采用基于控制流的指令集体系,指令集体系的指令所执行的操作局限于底层的位操作、寄存器操作、地址操作、加法器乘法器操作等。其中,与cpu相关的指令集体系的ic设计又包括精简指令集计算(reducedinstructionsetcomputing,risc)和无指令集计算(noinstructionsetcomputing,nisc)。其中,risc只执行预设的常用指令来简化处理器的结构,且risc的所有指令可以在单个时钟周期内完成,而以子程序的方式来实现特殊操作。但是,risc和复杂指令集计算(complexinstructionsetcomputing,cisc)都是基于控制流的指令集体系,并且指令集体系的指令所执行的操作局限于底层的位操作、寄存器操作、地址操作、加法器乘法器操作等。这样就使得应用程序需要经过编译器转换成指令集体系的指令,复杂的操作也转换成多个简单指令的合并,从而不利于应对需求复杂多变的发展趋势。nisc基于有限状态机(finite-statemachine,fsm)的模型,根据软件需求单独生成数据流,再通过编译器生成相应的控制字段来控制数据流。但是,nisc是基于数据流进行控制,需要实现难度大的时序设计,也不能很好根据变化的软件需求进行调整。

ic还包括专用集成电路(application-specificintegratedcircuit,asic),指的是针对特定需求而设计制造的专用硬件电路。其中,全定制的asic设计需要针对器件的电特性单独设计并布局布线,而半定制的asic设计需要在逻辑单元层级进行排列布局。asic难以根据需求变化来改变硬件结构,并且可能需要针对新的需求从头进行版图设计。ic还包括基于可重构技术的芯片,例如现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga)和可重构计算(coarse-grainedreconfigurablearchitecture,cgra)。其中,fpga提供细粒度的可编程硬件逻辑计算和存储单元,根据算法需求以静态全局重构的方式定制化设计计算通路结构,但是可编程粒度太细且细粒度数据项之间的互联配置关系复杂,从而导致能耗大重构时间长。cgra让功能配置好的硬件资源互连形成可配置的计算部分,通过配置信息来使计算部分重构为不同的计算通路,从而实现对硬件结构的动态配置并简化互连配置,但是未使用的数据通路造成资源浪费并且需要根据要实现的功能范围预先配置硬件资源。asic、fpga和cgra在通过eda工具生成逻辑电路图的环节时均需要eda工具对整个求解空间求得最优解,这其中包括分开计算数据流和控制流从而导致求解过程耗时长。另外,asic、fpga和cgra在分别通过eda工具进行自动综合时,eda工具只能对asic的固定的硬件结构来进行布局和绕线设计,对fpga的细粒度的可编程硬件逻辑计算和存储单元进行不同组合及搭配并计算相应控制方式和绕线设计,而对cgra只能针对粗颗粒的计算部分进行绕线设计。如此,传统ic中的asic、fpga和cgra虽然在逻辑设计上进行了资源利用的优化,但是在自动综合环节对绕线设计和控制方式做出很大限制,不利于通过eda工具充分调动硬件资源也无法很好应对需求复杂多变的发展趋势。

然而,随着软件需求和复杂程度的增加,ic设计所需要考虑的目的效能以及后续环节的相应逻辑电路图和具体电路布线结构均变得更为复杂和庞大,eda工具生成逻辑电路图和自动综合所需花费的时间也大幅延长,而设计出来的ic进行生产所需的工时和费用也大幅增加。因此传统的ic设计方式使得从顶层ic设计直到制造生产的整个流程随着需求和复杂程度增加而变得更加耗费时间和资源。另外,随着人工智能技术在边缘应用和端应用等领域取得更大进展,要求尽量缩短从ic设计到制造生产的整个流程耗时以便迅速响应市场的短期需求同时又要求尽量控制最终ic的能耗等资源利用效率指标。传统的ic设计方式和eda工具难以应对这些需求。例如,以指令集来执行计算机软件操作和数据运算的处理器设计方式,虽然可以通过指令集体系来执行各种复杂的软件算法,但是需要将软件算法转换成按照时钟周期执行的指令,实际应用中无法满足当前对时间资源的需求。再例如,采用asic和cgra的架构来设计的方式,虽然可以全局或者局部进行定制化设计来降低能耗缩短时间,但是每当需求发生变化就需要全部或者部分地更改设计,从而不利于快速响应需求变化。另外,传统的eda工具在生成逻辑电路图和自动综合环节通过解析hdl代码所描述的整个求解空间从而寻找最优解,并通过采用模块化的标准化仿真模型来加快求解过程,这样造成资源的浪费也无法应对边缘应用和端应用对能耗的要求。

量子信息学和计算机科学的发展推动了新的芯片架构和芯片设计方式的发展,例如基于量子力学态叠加原理以及量子相干性的量子计算机和量子芯片。量子芯片通过例如量子退火法的驱动机制,将计算需求转换成一系列的条件判定,并将测量几率相等的两端进行连线从而实现布线布局。然而,量子计算机和量子芯片是基于量子算法来处理计算需求,并且需要特殊的底层物理实现机制例如超导体来实现量子算法的逻辑。这样使得量子计算机和量子芯片的结构设计复杂,无法通过传统计算机实现,在制造工艺上也有很大挑战,难以满足当前的需求。

为此,应对目前软件需求和复杂程度的增加、迅速响应市场需求变化以及尽量控制能耗等资源利用效率指标的趋势,需要从ic设计到eda工具提出新的设计方式和设计机制,从而可以克服eda工具在生成逻辑电路图和自动综合环节耗时长资源利用率低等问题。



技术实现要素:

本申请实施例为了解决上述如何克服eda工具在生成逻辑电路图和自动综合环节耗时长资源利用率低等问题,通过提供基于量子信息学的芯片和芯片化eda装置以及eda芯片化方法,从而实现了大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

第一方面,本申请实施例提供了一种芯片。所述芯片包括:解析模块,其中,所述解析模块根据算法模型确定多个第一算子操作,所述多个第一算子操作与多个第一量子态一一对应,所述多个第一量子态的演化过程满足同构效应约束条件;以及扩展模块,其中,所述扩展模块用于生成所述算法模型的控制流信息,所述控制流信息对应量子信息学多路径系统的至少一条路径,所述至少一条路径通过对所述多个第一量子态的演化过程进行同构扩展得到,其中,所述控制流信息用于所述芯片完成所述算法模型的计算。

第一方面所描述的技术方案,通过以满足同构效应约束条件的多个第一量子态的演化过程作为基础进行同构扩展,从而使得量子信息学多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,使得可以通过反溯推演的方式来求解路径,再利用多个第一量子态与多个第一算子操作之间的对应关系从而将控制流信息的生成转化成在多路径系统的演化过程中寻找特定路径,进而可以通过反溯推演求解路径来大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

根据第一方面,在一种可能的实现方式中,所述解析模块根据所述算法模型确定所述多个第一算子操作,包括:所述解析模块根据所述算法模型的一部分确定所述多个第一算子操作。如此,通过根据算法模型的一部分确定多个第一算子操作从而节省了解析时间。

根据第一方面,在一种可能的实现方式中,所述至少一条路径具有共同的初始节点,所述初始节点根据所述算法模型的初始条件确定。如此,通过根据算法模型的初始条件确定初始节点从而实现了算法模型与所述至少一条路径的对应关系。

根据第一方面,在一种可能的实现方式中,所述至少一条路径具有至少一个结果节点,所述至少一条路径与所述至少一个结果节点一一对应,所述至少一个结果节点根据所述算法模型的预期目标确定。如此,通过根据算法模型的预期目标确定结果节点从而实现了算法模型与所述至少一条路径的对应关系。

根据第一方面,在一种可能的实现方式中,所述至少一条路径通过从所述至少一个结果节点到所述初始节点的反溯推演得到。如此,通过反溯推演得到所述至少一条路径从而节省了路径求解时间并降低复杂性。

根据第一方面,在一种可能的实现方式中,所述控制流信息包括多个第二算子操作,所述至少一条路径包括多个第二量子态的演化过程,所述多个第二算子操作与所述多个第二量子态一一对应,所述多个第二量子态的每一个第二量子态是所述多个第一量子态中一个第一量子态或者多个第一量子态的叠加态,所述多个第二算子操作根据各自对应的第二量子态所对应的第一量子态或者第一量子态的叠加态而确定为所述多个第一算子操作中的一个第一算子操作。如此,结合量子信息学意义下的第二量子态的演化过程与第一量子态的演化过程之间的关系以及量子力学态叠加原理,从而简化了获得所述控制流信息的过程。

根据第一方面,在一种可能的实现方式中,所述芯片根据所述控制流信息和所述算法模型确定与所述控制流信息相匹配的数据流信息。如此,利用生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接,从而有利于获得与控制流信息相匹配的数据流信息。

根据第一方面,在一种可能的实现方式中,所述芯片还包括pe序列生成器,其中,所述pe序列生成器根据所述控制流信息和所述数据流信息调用一个或者多个pe来完成所述算法模型的计算。如此,利用生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接,从而有利于调用pe。

根据第一方面,在一种可能的实现方式中,所述芯片还包括pe池,所述pe序列生成器以复用方式调用所述pe池的pe从而调用所述一个或者多个pe。如此,通过复用方式调用pe有利于提高资源利用效率。

根据第一方面,在一种可能的实现方式中,所述一个或者多个pe是与所述芯片连接的外部计算资源。如此,通过调用外部计算资源从而有利于该芯片适用于不同应用场景。

第二方面,本申请实施例提供了一种芯片化eda装置。所述芯片化eda装置包括:解析模块,其中,所述解析模块根据算法模型确定同构基础单元,所述同构基础单元包括多个第一量子态的演化过程,所述多个第一量子态与多个第一算子操作一一对应,所述多个第一量子态的演化过程满足同构效应约束条件;同构扩展模块,其中,所述同构扩展模块用于生成所述算法模型的控制流信息,所述控制流信息对应量子信息学多路径系统的至少一条路径,所述至少一条路径根据所述同构基础单元进行同构扩展得到;以及匹配模块,其中,所述匹配模块根据所述控制流信息和所述算法模型确定与所述控制流信息相匹配的数据流信息。

第二方面所描述的技术方案,通过以满足同构效应约束条件的多个第一量子态的演化过程作为基础进行同构扩展,从而使得量子信息学多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,使得可以通过反溯推演的方式来求解路径,再利用多个第一量子态与多个第一算子操作之间的对应关系从而将控制流信息的生成转化成在多路径系统的演化过程中寻找特定路径,进而可以通过反溯推演求解路径来大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

根据第二方面,在一种可能的实现方式中,所述芯片化eda装置还包括同构基础单元复用模块,其中,所述同构基础单元复用模块包括多个标准同构基础单元,所述同构基础单元是所述多个标准同构基础单元中的一个标准同构基础单元。如此,通过预先设置多个标准同构基础单元并选择其中一个为同构基础单元,从而节省了时间提高了效率。

根据第二方面,在一种可能的实现方式中,所述至少一条路径具有共同的初始节点,所述初始节点根据所述算法模型的初始条件确定,所述至少一条路径具有至少一个结果节点,所述至少一条路径与所述至少一个结果节点一一对应,所述至少一个结果节点根据所述算法模型的预期目标确定,所述至少一条路径通过从所述至少一个结果节点到所述初始节点的反溯推演得到。如此,实现了算法模型与所述至少一条路径的对应关系。

根据第二方面,在一种可能的实现方式中,所述控制流信息包括多个第二算子操作,所述至少一条路径包括多个第二量子态的演化过程,所述多个第二算子操作与所述多个第二量子态一一对应,所述多个第二量子态的每一个第二量子态是所述多个第一量子态中一个第一量子态或者多个第一量子态的叠加态,所述多个第二算子操作根据各自对应的第二量子态所对应的第一量子态或者第一量子态的叠加态而确定为所述多个第一算子操作中的一个第一算子操作。如此,结合量子信息学意义下的第二量子态的演化过程与第一量子态的演化过程之间的关系以及量子力学态叠加原理,从而简化了获得所述控制流信息的过程。

根据第二方面,在一种可能的实现方式中,所述解析模块根据所述算法模型确定所述同构基础单元,包括:所述解析模块根据所述算法模型的一部分确定所述同构基础单元。如此,通过根据算法模型的一部分确定同构基础单元从而节省了解析时间。

第三方面,本申请实施例提供了一种ic仿真装置。所述ic仿真装置包括根据前述第二方面中任一项所述的芯片化eda装置,所述ic仿真装置根据ic逻辑电路图确定所述算法模型,所述ic仿真装置根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息生成所述ic逻辑电路图的仿真结果。

第三方面所描述的技术方案,因为所述芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用所述芯片化eda装置来生成仿真结果的ic仿真装置也因此具有节省时间资源的有益技术效果。

第四方面,本申请实施例提供了一种eda自动综合装置。所述eda自动综合装置包括根据前述第二方面中任一项所述的芯片化eda装置,所述eda自动综合装置根据ic逻辑电路图确定所述算法模型,所述eda自动综合装置根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息生成所述ic逻辑电路图的电路布线结构。

第四方面所描述的技术方案,因为所述芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用所述芯片化eda装置来生成电路布线结构的eda自动综合装置也因此具有节省时间资源的有益技术效果。

第五方面,本申请实施例提供了一种神经网络处理器,其特征在于,所述神经网络处理器包括根据前述第二方面中任一项所述的芯片化eda装置,所述算法模型是神经网络算法模型,所述神经网络处理器还包括多个并行gpu,所述神经网络处理器根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息调用所述多个并行gpu来实现所述神经网络算法模型的计算。

第五方面所描述的技术方案,因为所述芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用所述芯片化eda装置来实现所述神经网络算法模型的计算的神经网络处理器也因此具有节省时间资源的有益技术效果。

第六方面,本申请实施例提供了一种cpu。所述cpu包括根据前述第二方面中任一项所述的芯片化eda装置,所述cpu根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息生成用于实现所述算法模型的计算的指令。

第六方面所描述的技术方案,因为所述芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用所述芯片化eda装置来生成用于实现所述算法模型的计算的指令的cpu也因此具有节省时间资源的有益技术效果。

第七方面,本申请实施例提供了一种eda工具芯片化方法,其特征在于,所述方法包括:

对算法模型进行解析得到同构基础单元,其中,所述同构基础单元包括多个第一量子态的演化过程,所述多个第一量子态与多个第一算子操作一一对应,所述多个第一量子态的演化过程满足同构效应约束条件;根据所述同构基础单元进行同构扩展得到与所述算法模型对应的多路径系统的至少一条路径,其中,所述至少一条路径包括多个第二量子态的演化过程,所述多个第二量子态的每一个第二量子态是所述多个第一量子态中一个第一量子态或者多个第一量子态的叠加态;生成所述算法模型的控制流信息,其中,所述控制流信息包括多个第二算子操作,所述多个第二算子操作与所述多个第二量子态一一对应,所述多个第二算子操作根据各自对应的第二量子态所对应的第一量子态或者第一量子态的叠加态而确定为所述多个第一算子操作中的一个第一算子操作;以及根据所述控制流信息和所述算法模型确定与所述控制流信息相匹配的数据流信息。

第七方面所描述的技术方案,通过以满足同构效应约束条件的多个第一量子态的演化过程作为基础进行同构扩展,从而使得量子信息学多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,使得可以通过反溯推演的方式来求解路径,再利用多个第一量子态与多个第一算子操作之间的对应关系从而将控制流信息的生成转化成在多路径系统的演化过程中寻找特定路径,进而可以通过反溯推演求解路径来大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

附图说明

为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

图1示出了一种不满足同构效应约束条件的字符串替换系统的演化过程的示意图。

图2示出了一种满足同构效应约束条件的字符串替换系统的演化过程的示意图。

图3示出了本申请实施例提供的与量子信息学多路径系统的演化过程对应的算法模型的示意图。

图4示出了本申请实施例提供的一种实施方式的同构基础单元及在其基础上同构扩展得到的算法实例。

图5示出了本申请实施例提供的另一种实施方式的同构基础单元及在其基础上同构扩展得到的算法实例。

图6示出了本申请实施例提供的eda工具芯片化方法的流程示意图。

图7示出了本申请实施例提供的另一种eda工具芯片化方法的流程示意图。

图8示出了本申请实施例提供的芯片化eda工具的结构示意图。

图9示出了本申请实施例提供的集成了图8所示的芯片化eda工具的芯片的结构示意图。

具体实施方式

本申请实施例提供了一种基于量子信息学的芯片、芯片化eda工具和eda工具芯片化方法。所述芯片包括:解析模块,其中,所述解析模块根据算法模型确定多个第一算子操作,所述多个第一算子操作与多个第一量子态一一对应,所述多个第一量子态的演化过程满足同构效应约束条件;以及扩展模块,其中,所述扩展模块用于生成所述算法模型的控制流信息,所述控制流信息对应量子信息学多路径系统的至少一条路径,所述至少一条路径通过对所述多个第一量子态的演化过程进行同构扩展得到,其中,所述控制流信息用于所述芯片完成所述算法模型的计算。如此,通过以满足同构效应约束条件的多个第一量子态的演化过程作为基础进行同构扩展,从而使得量子信息学多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,使得可以通过反溯推演的方式来求解路径,再利用多个第一量子态与多个第一算子操作之间的对应关系从而将控制流信息的生成转化成在多路径系统的演化过程中寻找特定路径,进而可以通过反溯推演求解路径来大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

本申请实施例可用于以下应用场景,包括但是不限于,算法编译、计算机指令生成、eda仿真、自动综合、ic逻辑电路图设计、电路布线结构生成以及芯片化eda工具和单片集成eda工具等。

本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。

本申请实施例结合量子信息学的研究成果和集成电路设计理论以及eda工具运行机制,提出了全新的从顶层的逻辑设计到电路布局绕线的一种ic设计方式。其中,一个量子力学系统的每种可能结果的概率分布的数学量被描绘成量子态(quantumstate)。量子信息学的态叠加原理提出,同一个量子力学系统的两个可能状态的线性叠加也是该系统的一个可能状态,这与经典物理学的状态叠加不同;并且量子信息学的态叠加原理还提出了,量子力学系统的任意一个可能状态必然可以表示为某力学量的本征态的某种线性叠加。如此,一个量子力学系统的任意状态必然可以表示成本征态或者多个本征态的线性叠加而成的叠加态。量子力学系统可以从一个量子态演化(evolution)到另一个量子态,这种量子态之间的演化过程串在一起就是量子力学系统的演化过程。最近的量子信息学的研究进展专注于量子信息学多路径系统的演化过程。例如,在2020年4月21发表的论文“somequantummechanicalpropertiesofthewolframmodel”中,作者jonathangorard提出了编号12的定理,该定理为“如果所有的演化过程最终是可以表示成单向不循环的图的同构扩展,则该多路径系统具有因果不变性。”(参见该论文第8页以及附图8)这里,因果不变性意味着对演化过程的反溯,也即如果从上级节点演化到下级节点,则可以从该下级节点反溯推导出该上级节点,对整个演化过程的反溯意味着从结果节点推导出直到初始节点的路径。仅仅出于解释性和说明性的目的,本申请将该论文全文引用并引入。

量子信息学意义下的多路径系统的演化过程可以在数学上近似为量子本征态的线性叠加。具体地,多路径系统的多个节点中每一个节点各自对应某个量子本征态或者多个量子本征态的线性叠加而产生的叠加态。多路径系统上从一个节点到另一个节点的演化,意味着从一个量子本征态/叠加态演化到另一个量子本征态/叠加态。多路径系统中节点之间的演化要满足一定的约束条件,该约束条件用于确定从一个节点所代表的量子本征态/叠加态演化到另一个节点后所代表的量子本征态/叠加态,也就是量子本征态/叠加态的各种演化情况。如此,给定一个多路径系统的初始节点和约束条件,可以推导出从初始节点开始的一系列的演化过程及中间节点,并且可能推导出结果节点,结果节点意味着从这些结果节点开始无法再继续演化下去并生成新的节点。有些情况下该多路径系统具有无限演化并生成新的节点的可能性,这时可以定义某些中间节点作为中间结果节点,并在所定义的中间结果节点定义整个演化过程结束。多路径系统的演化过程可以包括多个分支,一个分支意味着从同一个节点出发可以演化并生成多于一个的节点,这是因为从该同一个节点出发(作为上级节点)根据约束条件可以推导出不同的下级节点。或者说,该上级节点根据约束条件有多于一个符合约束条件的演化情况。在多路径系统中,从任一节点出发经过演化最后到达另一个节点,这样依次经过的所有节点串在一起可以看做一条路径,而这条路径上节点间的演化次序对应了一系列的量子本征态/叠加态的演化次序。多路径系统是相当于单路径系统而言,单路径系统从初始节点到结果节点只有一条路径或者说没有分支,而多路径系统至少包括一个分支。

多路径系统的演化过程指的是从该多路径系统上的初始节点开始按照一定的约束条件而演化后产生的各个节点以及彼此之间的演化情况。从多路径系统的初始节点出发到达结果节点的路径,意味着从初始节点出发根据约束条件经过一系列的演化并最终到达结果节点的演化过程,也意味着相应的一系列的量子本征态/叠加态的切换操作。根据jonathangorard在上述论文中提到的编号12的定理,如果所有的演化过程最终是可以表示成单向不循环的图的同构扩展,则多路径系统具有因果不变性。如此,假设多个量子态的演化过程自身可以表示成单向不循环的图,这些多个量子态演化过程可以视作同构基础单元,以该同构基础单元进行同构扩展而得到的某个多路径系统的演化过程则必然可以表示成单向不循环的图的同构扩展,也因此具有因果不变性。进一步地,可以定义同构效应约束条件,要求同构基础单元的多个量子态演化过程以及该多路径系统的演化过程均满足同构效应约束条件。该同构效应约束条件用于确定多个量子态演化过程中各个量子态之间的演化情况,而因为该多路径系统的演化过程是以该同构基础单元进行同构扩展而得到,所以该多路径系统的演化过程也必然满足同构效应约束条件。这里,同构效应约束条件包括:(1)不重复性(acyclic),这意味着多路径系统的演化过程中从任一节点出发演化到另一个节点的路径中任一部分都不会重复,也即节点之间演化次序具有不重复性;(2)不汇合性(non-confluent),这意味着多路径系统的演化过程中不同的分支不会导向同一结果,也即每一次分支都必然导致新的结果节点的产生,或者说从同一个分支衍生出来的下级节点彼此之间不会有关联;(3)可分支性,这意味着一个节点可以衍生出多个下级节点,也即可以有多个分支路径;以及(4)不反馈性,这意味着上级节点演化生成下级节点,但是下级节点不会反向演化成上级节点,所以演化过程是单向的而不会反向。

满足上述同构效应约束条件(不重复性、不汇合性、可分支性和不反馈性)的多路径系统可以表现为树状结构图。其中,初始节点位于最上面,从初始节点开始演化而生成的节点从上到下分布直到最下面的多个结果节点,该多路径系统从初始节点到任一结果节点有唯一的路径(同构效应约束条件保证)。该多路径系统的演化过程可以看作相应的同构基础单元为基础进行同构扩展。另外,同构基础单元本身也是多个量子态演化过程,并且这些多个量子态演化过程也满足同构效应约束条件,也就是:不重复性,不汇合性,可分支性,以及不反馈性。量子信息学意义下的同构扩展指的是,该同构基础单元对应的多个量子态演化过程存在初始量子态作为整个演化过程的起点,而同构扩展则是将该多个量子态中除了初始量子态以外的任一量子态作为新的初始量子态来衍生新的演化过程。

请参阅图1,图1示出了一种不满足同构效应约束条件的字符串替换系统的演化过程的示意图。如图1所示,量子信息学意义下的多路径系统以字符串替换系统100为例。其中,字符串替换系统100有两种字符串a和b,字符串替换系统100的多个节点之间的演化过程满足约束条件101。约束条件101规定了两种情况,分别是从aa演化到ba以及从ab演化到ba。字符串替换系统100具有初始节点102,初始节点102的量子态表示为字符串aaa。从初始节点102出发,根据约束条件101可以推导出两条路径。第一条路径从初始节点102出发,依次经过中间节点110和中间节点112,最后得到结果节点114。第二条路径从初始节点102出发,经过中间节点120得到结果节点122。可以看出,结果节点122和结果节点114具有相同的字符串,这意味着字符串替换系统100不满足同构效应约束条件中的不汇合性。这里,不汇合性要求不同的分支不会导向同一个结果,这也就意味着从任一结果节点可以反向推演出唯一的路径直到初始节点。而以字符串替换系统100为例,从同一个结果bba出发,可以沿着第一条路径反向经过节点112、节点110到达初始节点102,或者沿着第二条路径反向经过节点122、节点120到达初始节点102。也就是说,字符串替换系统100的不同分支导向了同一个结果bba。因此以字符串替换系统100的结果作为依据无法进行反向推演得出唯一路径。如此,与字符串替换系统100对应的多路径系统的演化过程并不满足上述同构效应约束条件,也就是:不重复性,不汇合性,可分支性,以及不反馈性。

请参阅图2,图2示出了一种满足同构效应约束条件的字符串替换系统的演化过程的示意图。如图2所示,量子信息学意义下的多路径系统以字符串替换系统200为例。其中,字符串替换系统200有两种字符串a和b,字符串替换系统200的多个节点之间的演化过程满足约束条件201。约束条件201规定了两种情况,分别是从bb演化到a以及从aab演化到baab。字符串替换系统200有初始节点202,初始节点202的量子态表示为字符串abbb。从初始节点202出发,根据约束条件201可以推导出三条路径。第一条路径从初始节点202演化到节点220。还可以从初始节点202出发依次经过节点210、节点212和节点214之后分支成节点216和节点218,分别对应第二条路径和第三条路径。可以看出,节点220是一个结果节点,也就是说从节点220开始无法再进一步演化下去。但是,节点216和节点218都不是结果节点,各自可以继续演化下去。节点216和节点218可以看做中间结果节点,从节点216或者节点218出发可以反向推演出唯一路径直到初始节点202。应当理解的是,字符串替换系统200满足上述同构效应约束条件,也就是:不重复性,不汇合性,可分支性,以及不反馈性。从字符串替换系统200的任一结果节点或者中间结果节点出发,都可以反向推演出唯一路径直到初始节点202。例如,给定结果为aaab,则可以反向推演出,只有从初始节点202出发依次经过节点210、节点212、节点214和节点216才能得出该给定结果。这种因果不变性可以用于通过结果来反向推演出从初始节点出发得到该结果的唯一路径,也就是从结果反溯直到初始节点,并且整个反向推演过程在同构效应约束条件保证之下只能得出唯一的路径,这也意味着在每个分支只能得出唯一的选择。

结合图1所示的字符串替换系统100和图2所示的字符串替换系统200可知,当一个多路径系统的演化过程满足同构效应约束条件时,不仅具有因果不变性,而且从任一结果节点或者中间结果节点可以反向推演出从初始节点出发演化到该结果节点或者该中间结果节点的唯一路径,而且必然可以得出该唯一路径途径的所有分支的选择。而给定一个多路径系统的初始节点和约束条件,可以推导出从初始节点开始的一系列的演化过程及各个中间节点,并且推导出结果节点或者中间结果节点。如此,当该多路径系统的约束条件同时也满足同构效应约束条件时,例如图2所示的字符串替换系统200,则意味着该多路径系统的演化过程满足同构效应约束条件。进一步地,该多路径系统的演化过程可以看作以同构基础单元为基础进行同构扩展,而同构基础单元本身也是多个量子态演化过程,并且这些多个量子态演化过程也满足同构效应约束条件,也就是:不重复性,不汇合性,可分支性,以及不反馈性。如此,可以将多个量子态演化过程看做一个“积木”,而将多个这样的“积木”根据同构扩展的方式进行“拼凑”得到的多路径系统的演化过程必然满足同构效应约束条件,也因此满足从任一结果节点或者中间结果节点可以反向推演出从初始节点出发演化到该结果节点或者该中间结果节点的唯一路径。这里,量子信息学意义下的同构扩展指的是,将同构基础单元对应的多个量子态演化过程的初始量子态作为整个多个量子态演化过程的起点,而同构扩展则是将该多个量子态中除了初始量子态以外的任一量子态作为新的初始量子态来衍生新的演化过程。因为多个量子态演化过程本身是满足同构效应约束条件,用这样的同构扩展方式进行“拼凑”得到的多路径系统的演化过程必然满足同构效应约束条件。

请参阅图3,图3示出了本申请实施例提供的与量子信息学多路径系统的演化过程对应的算法模型的示意图。如图3所示,多路径系统300与算法模型301对应。这里,算法模型301可以理解成为解决特定问题而提出的解决方案,如神经网络模型算法或者常见的计算机软件层面算法。仅仅出于说明的目的,这里设算法模型301从初始条件303出发经过不同步骤可以到达结果步骤334、结果步骤336或者结果步骤342,具体地,可以从初始条件303出发经中间步骤330和中间步骤332到达结果步骤334,或者可以从初始条件303出发经中间步骤330和中间步骤332到达结果步骤336,或者可以从初始条件303出发经中间步骤340到达结果步骤342。应当理解的是,算法模型301的内部流程如所包括的中间步骤和结果步骤的次数和次序可以是根据实际应用场景的任意组合和结构,本实施例仅为说明性而不应理解为限制性。算法模型301的结果步骤334、结果步骤336和结果步骤342可以理解为三种输出结果,例如一个用于多任务的神经网络模型算法可以输出三种结果分别对应三种不同的任务。又或者算法模型301的结果步骤334、结果步骤336和结果步骤342可以理解为算法模型301的三种可能结果,例如带有条件判断的逻辑设计可以有不同的结果。实际应用中,算法模型301可以有变化的初始条件,而有任意次数和任意组合的结果步骤。而预期要实现的效果可以用来确定对应的结果步骤,例如算法模型301要用于完成两个矩阵的卷积运算结果,则对应的结果步骤必然是该卷积运算的最后一步求和操作,因此,当初始条件和预期要实现的效果确定后,就相当于可以确定算法模型301的初始条件和相应的结果步骤,而从该初始条件到该结果步骤所经过的各个中间步骤,就是为了达成预期要实现的效果的路径。

请继续参阅图3,要推导出从算法模型301的初始条件303出发到特定结果步骤的路径,传统的做法是对代表算法模型301的整个求解空间进行求解,推导出最优实现方式,这样做不仅涉及整个求解空间从而导致求解过程耗时长,而且必须在推导时精确匹配所有控制流信息和数据流信息从而使得eda工具的逻辑设计和自动综合环节耗时长。本申请实施例结合上面提到的量子信息学的同构效应约束条件下以同构基础单元进行同构扩展得到的多路径系统的演化过程,提出了全新的对算法模型301进行解析和展开的方式用于ic设计。如图3所示,多路径系统300包括初始节点302对应算法模型301的初始条件303,结果节点314、结果节点316和结果节点322分别对应算法模型301的结果步骤334、结果步骤336和结果步骤342。多路径系统300的各个中间节点也与算法模型301的多个中间步骤一一对应。算法模型301从初始条件303到任一结果步骤的路径也对应多路径系统300中从初始节点302出发演化到相应结果节点的路径。例如,算法模型301中从初始条件303出发经中间步骤330和332到达结果步骤334,相应地在多路径系统300中从初始节点302出发经中间节点310和312到达结果节点314。如此,任意算法模型301都可以有对应的多路径系统300,其中算法模型301的从初始条件到特定结果步骤的路径对应该多路径系统300中从初始节点到结果节点的演化过程。也就是说,多路径系统300包括多条路径,每条路径对应从同一个初始路径演化到某个结果节点所经过的各个中间节点的演化过程,也意味着这些节点各自对应的量子态之间的一系列演化过程,而多路径系统300的每条路径也对应算法模型301中从初始条件到某个结果步骤的路径。

请继续参阅图3,当多路径系统300的演化过程满足上述同构效应约束条件,这意味着从多路径系统300的任一结果节点或者中间结果节点可以反向推演出从初始节点出发演化到该结果节点或者该中间结果节点的唯一路径,而反向推演出的多路径系统300中从初始节点到特定结果节点或者特定中间结果节点的唯一路径意味着可以反向推演出算法模型301中从初始条件到特定结果步骤的唯一路径。如此,确定算法模型301中从初始条件到某个结果步骤的路径,等效于确定多路径系统300的演化过程中从初始节点到相应结果节点的路径,而从初始节点到相应结果节点的路径在多路径系统300的演化过程满足同构效应约束条件的前提下,可以通过从该结果节点反向推演得到。例如,算法模型301中从初始条件303出发经中间步骤330和332到达结果步骤334这一路径,对应在多路径系统300中从初始节点302出发经中间节点310和312到达结果节点314这一路径,而在多路径系统300的演化过程满足同构效应约束条件的前提下,可以从结果节点314反向推演出直到初始节点302的完整路径。这样利用量子信息学多路径系统的演化过程在满足同构效应约束条件的前提下所具有的因果不变性等各种特性,可以将寻找算法模型中从初始条件到特定结果步骤这一问题转化成从相应结果节点反向推演出对应路径的问题。进一步地,假设该量子信息学多路径系统是以同构基础单元进行同构扩展,而同构扩展则是将同构基础单元的多个量子态中除了初始量子态以外的任一量子态作为新的初始量子态来衍生新的演化过程,如此可以将从相应结果节点反向推演出对应路径的问题进一步简化成确定同构基础单元的同构扩展方式的问题。例如,上述从结果节点314反向推演出直到初始节点302的完整路径这一问题可以转化成如何用同构基础单元从初始节点302开始进行同构扩展直到结果节点314的问题。通过将多路径系统300的演化过程等效为以同构基础单元为基础进行同构扩展,相应地也需要将算法模型301解析后展开,也就是说需要确定与多路径系统300的同构基础单元对应的一系列算子操作,再以这些算子操作为基础进行同构扩展而展开算法模型301。应当理解的是,同构基础单元本身也是多个量子态演化过程,并且这些多个量子态演化过程也满足同构效应约束条件,也就是:不重复性,不汇合性,可分支性,以及不反馈性。这一点将在下面的实施例做更详细的描述。

请参阅图4,图4示出了本申请实施例提供的一种实施方式的同构基础单元及在其基础上同构扩展得到的算法实例。如图4所示,算法实例401是在同构基础单元400基础上进行同构扩展得到。其中,算法实例401可用于实现两个3x3的矩阵之间的卷积运算。这两个矩阵可以各自拆分成三个行向量,卷积运算可以分解成两个矩阵各自的三个行向量分别相乘之后进行求和。一种做法是将两个矩阵各自对应的行向量进行相乘然后求和,共计4个步骤。量子信息学意义下的同构扩展将同构基础单元对应的多个量子态演化过程的初始量子态作为整个多个量子态演化过程的起点,而将该多个量子态中除了初始量子态以外的任一量子态作为新的初始量子态来衍生新的演化过程。其中,同构基础单元400包括两个本征态,分别是与行向量相乘操作对应的本征态402和与求和操作对应的本征态404。同构基础单元400本身满足同构效应约束条件,也就是:不重复性,不汇合性,可分支性,以及不反馈性。算法实例401是在同构基础单元400基础上进行同构扩展,算法实例401对应的多路径系统的演化过程是从本征态440演化到叠加态442再演化到叠加态444再演化到本征态446。其中,本征态440是与行向量相乘操作410对应的量子态,而叠加态442是与求和操作412对应的量子态以及与行向量相乘操作420对应的量子态线性叠加而成,叠加态444是与求和操作422对应的量子态以及与行向量相乘操作430对应的量子态线性叠加而成,本征态446是与求和操作432对应的量子态。其中,与行向量相乘操作410对应的量子态和与求和操作412对应的量子态属于同一个同构基础单元,与行向量相乘操作420对应的量子态和与求和操作422对应的量子态属于同一个同构基础单元,与行向量相乘操作430对应的量子态和与求和操作432对应的量子态属于同一个同构基础单元。也就说,算法实例401在量子信息学意义下的同构扩展涉及三个同构基础单元,每个同构基础单元具有与同构基础单元400一致的多个量子态以及这些量子态的演化过程。以同构基础单元400为基础进行同构扩展,意味着将同构基础单元400的多个量子态中除了初始量子态以外的任一量子态也即本征态404作为新的初始量子态来衍生新的演化过程,从而得到对应的多路径系统的各个节点。其中,该多路径系统的各个节点各自对应某个量子本征态或者多个量子本征态的线性叠加而产生的叠加态。如图4所示,与算法实例401对应的多路径系统中包括4个节点,分别对应本征态440、叠加态442、叠加态444以及本征态446。算法实例401表示成该多路径系统上这4个节点的演化过程,也就是本征态440演化到叠加态442再演化到叠加态444再演化到本征态446的演化过程。其中叠加态442和叠加态444均是两种操作各自对应的量子态的线性叠加。根据量子信息学的态叠加原理,两个量子态叠加后得到的叠加态仍是同一个量子力学系统的可能状态。如此,以同构基础单元400作为基础进行同构扩展得到多路径系统的演化过程,与该多路径系统对应的算法实例也展开成图4所示的4个步骤,分别表示成本征态440、叠加态442、叠加态444以及本征态446。

请继续参阅图4,上面提到从相应结果节点反向推演出对应路径的问题可以转换成确定同构基础单元的同构扩展方式的问题。如此,算法实例401的求解问题可以转换成寻找合适的同构基础单元400和如何以同构基础单元400进行同构扩展的方式两个问题。图4所示的同构基础单元400不仅可以用于实现两个3x3的矩阵之间的卷积运算,还可以用于任意尺寸的两个矩阵之间的卷积运算,也就是说图4所示的同构基础单元400可以适用于许多算法实例所代表的求解空间。而在该求解空间内的任意一个算法实例也即任意尺寸的两个矩阵之间的卷积运算,都可以用同构基础单元400的同构扩展方式而展开,并且如此展开得到的算法实例可以表示成相应的满足同构效应约束条件的量子信息学多路径系统的演化过程。这是因为同构基础单元400所包括的多种算子操作的组合表示成多个量子态演化过程,并且这些多个量子态演化过程也满足同构效应约束条件,也就是:不重复性,不汇合性,可分支性,以及不反馈性。如此,通过例如图4所示的同构基础单元400作为基础进行同构扩展,从而确保对应的多路径系统的演化过程满足同构效应约束条件,也因此可以利用对该多路径系统的反溯问题的求解来完成算法的反向推演。也就是说,对于一个给定的算法实例401,只要设定好初始条件和同构效应约束条件,以及设定好同构基础单元400的多个量子态各自对应的算子操作,则可以将算法实例401按照特定方式展开,而与展开后的算法实例401对应的量子信息学意义下多路径系统的演化过程是该同构基础单元400作为基础的同构扩展而来,而对该算法实例401展开后的计算流程的推演是从结果反溯到初始条件而得出。因为以同构基础单元400作为基础进行同构扩展并且满足同构效应约束条件,所以由此得出的多路径系统的演化过程满足因果不变性,也意味着可以从多路径系统的演化过程的结果节点或者中间结果节点反溯到初始节点,这也意味着可以对该算法实例401的计算流程的结果步骤(图4中为与求和操作432对应的本征态446)反溯到初始条件(图4中为与行向量相乘410对应的本征态440),从而得到算法实例401展开后的完整计算流程。应当理解的是,图4中所示的算法实例401和同构基础单元400仅为示例性,根据实际需求可以有其它类型和结构的同构基础单元。

请参阅图5,图5示出了本申请实施例提供的另一种实施方式的同构基础单元及在其基础上同构扩展得到的算法实例。如图5所示,同构基础单元500包括五个本征态5a、本征态5b、本征态5c、本征态5d和本征态5e,分别对应计数操作、乘法操作、加法操作、池化操作和relu操作。其中,relu操作也可以替换成其它类型的激活函数操作。这五个本征态以及各自对应的算子操作可以应用于神经网络模型的计算。例如本征态5a对应的计数操作可以用于读取固定次数的输入特征数据或者权重特征数据。图5所示的算法实例501对应的是特定神经网络模型,该神经网络模型从读取输入特征数据开始的计算流程可以用图5所示的多个本征态/叠加态的演化过程表示,或者表示成多路径系统的多个节点的演化过程。算法实例501可以表示成从节点510开始依次演化到节点511、节点512、节点513、节点514、节点515、节点516直到节点517的演化过程。算法实例501在图5中表示成多路径系统的多个节点的演化过程,而该多路径系统的每个节点对应一个本征态或者多个本征态叠加而成的叠加态。具体地,节点510是初始节点并对应本征态5a及相应的计数操作,节点510可以理解成神经网络模型的输入操作例如读取固定次数的输入特征数据;节点511对应本征态5b和另一个同构基础单元的本征态5a二者叠加而成的叠加态,这里节点511的本征态5b与节点510(相对于节点511来说是上级节点)的本征态5a属于同一个同构基础单元,也就是说从本征态5b开始进行了同构扩展来衍生新的演化过程,节点511可以理解成神经网络模型的输入操作例如读取固定次数的权重特征数据;节点512对应本征态5b,节点512可以理解成对输入特征数据和权重特征数据进行乘法操作;节点513对应本征态5c和另一个同构基础单元的本征态5a二者叠加而成的叠加态,这里节点513的本征态5c与节点512的本征态5b和节点511的本征态5a属于同一个同构基础单元,也就是说从本征态5c开始进行了同构扩展来衍生新的演化过程,节点513可以理解成新的计数操作例如计算在节点512进行的乘法操作得到的输出结果的个数;节点514、节点515、节点516和节点517分别对应本征态5b、本征态5c、本征态5d和本征态5e,可以理解成该神经网络模型从节点513开始进行一系列操作从而完成乘加、池化以及导入激活函数。这里,节点513的本征态5a与节点514、节点515、节点516和节点517各自对应的本征态5b、本征态5c、本征态5d和本征态5e属于同一个同构基础单元。如此,算法实例501中包括了三个同构基础单元,节点510和节点511对应第一个同构基础单元,节点511、节点512和节点513对应第二个同构基础单元,节点513、节点514、节点515、节点516和节点517对应第三个同构基础单元。当同一个节点对应两个同构基础单元时,这意味着该节点对应的是叠加态,且叠加态由不同同构基础单元的本征态叠加而成。并且,因为同构基础单元500自身所包括的多个本征态的演化过程也满足同构效应约束条件,所以可以根据任一节点所对应的本征态或者叠加态的组成情况而反向推演出之前的节点的情况。例如,从节点513开始反向推演,因为节点513对应的是本征态5c和本征态5a叠加而成的叠加态,这意味着节点513之前必然存在两个节点分别对应与本征态5c属于同一个同构基础单元的本征态5a(节点511)和本征态5b(节点512)。并且,因为算法实例501必须根据量子信息学意义下的同构扩展方式来展开,也就是说将同构基础单元的多个量子态中除了初始量子态以外的任一量子态作为新的初始量子态来衍生新的演化过程,所以只有同构基础单元500中作为初始量子态的本征态5a可以与其它本征态进行叠加而生成叠加态。换句话说,在满足同构扩展这一方式的前提下,叠加态的可能组成是可以根据同构基础单元而推导出来的优先组合。

请继续参阅图5,算法实例501对应的是特定神经网络模型的各个算子操作的组合,但是这些算子操作仅表明了操作类型例如乘法操作或者加法操作,并没有包含适用于操作类型的数据。因此,算法实例501所对应的多路径系统的各个节点对应的其实是控制流的信息,也就是执行各个算子操作的次序。为了实现完整的神经网络模型的算法,还需要结合这些控制流的信息而加入相应的数据流信息,例如在节点510的本征态5a所对应的计数操作需要赋予该计数操作的适用对象如所提取的输入特征数据。通过展开算法实例501得到的多路径系统的演化过程,可以得到控制流信息,从而能结合算法实例501的初始条件得出对应的数据流信息,进而构建完整的算法实例501的计算过程。

应当理解的是,根据算法实例501的不同具体内容,例如不同的神经网络模型,展开后得到的多个节点的演化过程也不一样,但是可以都基于同样的同构基础单元500所做出的同构扩展。也就是说,同构基础单元及其所包括的多个量子本征态,可以适用于不同的算法实例,或者说基于同一个同构基础单元的同构扩展可以得到与不同的算法实例各自对应的多路径系统的演化过程。并且,因为这些与不同的算法实例各自对应的多路径系统的演化过程均是同一个同构基础单元的同构扩展而来,也都满足同构效应约束条件(不重复性,不汇合性,可分支性,以及不反馈性)。如此,通过要求所有的算法实例按照同一个同构基础单元为基础进行同构扩展的方式来展开,可以确保这些算法实例对应的多路径系统的演化过程均同构效应约束条件,也因此具有因果不变性等有益技术效果。同时这也意味着,可以从多路径系统的演化过程的结果节点或者中间结果节点反溯到初始节点,相应地,可以从展开后的算法实例的结果步骤或者说预期输出的结果反溯到该算法实例的初始条件。这样有利于迅速便利地确定与该算法实例对应的控制流信息,也就是推导出相应的多路径系统的演化过程。

结合图4所示的同构基础单元400及在其基础上同构扩展得到的算法实例401和图5所示的同构基础单元500及在其基础上同构扩展得到的算法实例501,本申请实施例提供了一种全新的对任意算法实例进行展开从而利于ic设计和eda工具自动综合的方式。具体地,对于任意算法实例,只要确定合适的同构基础单元就可以进一步确定以该同构基础单元为基础进行同构扩展得到该算法实例的方式。而同构基础单元本身可以表示成符合同构效应约束条件(不重复性,不汇合性,可分支性,以及不反馈性)的多个量子态的演化过程。其中,同构基础单元所对应的多个量子态的每个量子态对应一种算子操作,这种算子操作可以是比较基础的算子操作例如图4所示的行向量操作,也可以是比较复杂的算子操作例如图5所示的池化操作。这种展开任意算法实例的方式使得可以利用量子信息学多路径系统的特性,也就是从多路径系统的演化过程的结果节点或者中间结果节点反溯到初始节点。如此,在确定同构基础单元和以该同构基础单元为基础进行同构扩展的方式之后,可以从结果节点或者中间结果节点反向推演出整个算法实例的展开方式,这样得到的是控制流信息也就是一系列本征态/叠加态的演化过程。为了能得到完整的算法实例的展开后的计算流程,还需要赋予这些控制流信息对应的数据流信息。例如,以图4所示的方式展开算法实例401后,还需要结合算法实例401要实现的预期目标例如实现两个3x3矩阵的卷积运算,将两个矩阵各自的行向量的数据流匹配对应的本征态/叠加态所对应的算子操作,从而实现完整的算法实例401的计算流程。

请参阅图3、图4和图5,任意的算法模型可以看做许多操作的集合,而这些操作在去除其中的数据流信息后可以分类成多种算子操作,例如加法操作、乘法操作、行向量相乘等,根据具体分类方式可以有不同的分类或者范围。从量子信息学的角度来看一个给定的算法模型,该算法模型展开后得到的多种算子操作,每种算子操作的出现次数和出现频率都可以用量子态来表示,例如在卷积神经网络模型算法中卷积运算的算子操作出现概率最大出现次数也最多。该算法模型展开后可能得到的所有算子操作各自对应的量子态一起属于同一个量子力学系统。该量子力学系统下的多路径系统的演化过程则描述了一系列量子态的演化过程,也因此对应一系列算子操作的组合及次序。如此,该算法模型的展开可以表示成一个多路径系统上的一条路径,也就是从初始节点到某个结果节点的演化过程。当该算法模型的展开可能有多种结果时,例如图3所示的算法模型301有三种可能的结果步骤,则可以对应该多路径系统的多条路径。只要在同一个量子力学系统下,不同的算法实例都可以表示成该量子力学系统的各种量子态的演化过程。进一步地,当该多路径系统的演化过程可以表示成以同构基础单元为基础进行同构扩展,并且同构基础单元本身可以表示成符合同构效应约束条件(不重复性,不汇合性,可分支性,以及不反馈性)的多个量子态的演化过程,则该多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,从而有利于利用这些特性进行反溯或者反向推演。具体地,从该多路径系统的演化过程的结果节点或者中间结果节点一定可以反溯到初始节点,并且必然可以推导出唯一的路径。而且如此推导出来的路径中各个节点各自对应的量子态的演化过程也满足以同构基础单元为基础进行同构扩展,这样大幅降低了反向推演的难度,不需要从该量子力学系统下的所有可能量子态中寻找对应量子态,而是从该同构基础单元所对应的多个量子态中寻找对应量子态以及确定同构扩展方式。前面提到该量子力学系统下的所有可能量子态实质上对应该算法模型展开后可能得到的所有算子操作,因此当以同构基础单元为基础进行同构扩展的方式得到与该算法模型对应的多路径系统的一条或者多条路径,则等效于完成了如何展开该算法模型这一问题的求解。接下来需要根据该同构基础单元所对应的多个量子态来确定与该算法模型对应的多路径系统的一条或者多条路径上各个节点对应的量子态,从而确定展开该算法模型的控制流信息,也就是算子操作的组合及次序。当控制流信息确定后,根据该算法模型的初始条件和预期效果可以确定与该控制流信息相匹配的数据流信息,从而得到完整的展开该算法模型的计算流程。下面的实施例详细描述相关方法。

请参阅图6,图6示出了本申请实施例提供的eda工具芯片化方法的流程示意图。如图6所示,eda工具芯片化方法600包括以下步骤。

步骤s602:对给定算法模型进行解析得到同构基础单元,该同构基础单元是满足同构效应约束条件的多个量子态的演化过程,该多个量子态的每一个量子态对应一种算子操作,其中同构效应约束条件为不重复性、不汇合性、可分支性以及不反馈性。

其中,给定的算法模型可以进行解析以得到同构基础单元以及其中多个量子态各自对应的算子操作。例如图4所示的同构基础单元400所包括的行向量相乘操作和求和操作。不同的算法模型也可以对应相同的同构基础单元。当算法模型发生细微变化,如将两种操作层的次序进行调换等,一般也适用相同的同构基础单元。

步骤s604:以该同构基础单元为基础进行同构扩展,得到与给定算法模型对应的多路径系统的演化过程,该多路径系统的演化过程也满足同构效应约束条件。

其中,在步骤s602和步骤s604均提到了同构效应约束条件,包括:(1)不重复性,这意味着多路径系统的演化过程中从任一节点出发演化到另一个节点,中间经过的路径中任一部分都不会重复,也即节点之间演化次序具有不重复性;(2)不汇合性,这意味着多路径系统的演化过程中不同的分支不会导向同一结果,也即每一次分支都必然导致新的结果节点的产生,或者说从同一个分支衍生出来的下级节点彼此之间不会有关联;(3)可分支性,这意味着一个节点可以衍生出多个下级节点,也即可以有多个分支路径;以及(4)不反馈性,这意味着每个节点自一个节点(上级节点)衍生而来也从自身衍生出一个或多个节点(下级节点),但是该节点不会反向衍生出上级节点,所以演化过程是单向的而不会反向。另外,步骤s604提到的同构扩展指的是,该同构基础单元对应的多个量子态演化过程存在初始量子态作为整个演化过程的起点,而同构扩展则是将该多个量子态中除了初始量子态以外的任一量子态作为新的初始量子态来衍生新的演化过程。

步骤s606:根据给定算法模型的预期输出确定该多路径系统的演化过程的结果节点,根据给定算法模型的初始条件确定该多路径系统的演化过程的初始节点,根据该同构基础单元和该同构效应约束条件得到推演结果,该推演结果包括从该结果节点反溯到该初始节点途经的各个中间节点以及各自对应的本征态/叠加态。

其中,因为该多路径系统的演化过程满足量子信息学意义下的同构效应约束条件,并且该多路径系统的演化过程是以该同构基础单元为基础进行同构扩展而得出,所以必然满足因果不变性等特性,这意味着从该多路径系统的演化过程的结果节点或者中间结果节点可以反溯到初始节点。并且,相应地,可以从展开后的算法模型的结果步骤或者说预期输出反溯到该算法模型的初始条件。如此,可以迅速便利地确定控制流信息,也就是推导出相应的多路径系统的演化过程。以图5所示的算法实例501为例,可以推演出从结果节点517反溯到初始节点510途径的各个中间节点。

步骤s608:根据该推演结果中该初始节点、各个中间节点以及该结果节点各自对应的本征态或者叠加态,结合该同构基础单元所包括的该多个量子态各自对应的算子操作,获得该算法模型从初始条件到预期输出的各个算子操作的控制流信息。

其中,以图5的算法实例501为例,在推演出从节点510到节点517各自对应的本征态/叠加态后,可以根据同构基础单元500中各个本征态对应的算子操作确定在每个节点的算子操作。因为是以同一个同构基础单元为基础进行同构扩展而得到的各个节点,这些节点对应的本征态/叠加态一定能根据同构基础单元得出对应的算子操作,从而获取完整的控制流信息。

步骤s610:根据该控制流信息,结合该算法模型的初始条件和预期输出,获得相应的数据流信息,结合该控制流信息和该数据流信息得到该算法模型的计算流程。

其中,以图5所示的算法实例501为例,在确定算法实例501的控制流信息后,可以轻易获得相应的数据流信息,例如在节点510的计数操作适用于输入特征数据。

结合步骤s602至步骤s610,eda工具芯片化方法600利用了量子信息学下在满足特定条件下扩展而得到的多路径系统的演化过程所具有的因果不变性等,从而提出了一种全新的获取控制流信息并匹配相应数据流信息的方法。具体地,以同构基础单元作为基础进行同构扩展并且满足同构效应约束条件而由此得出的多路径系统的演化过程满足因果不变性,也意味着可以从多路径系统的演化过程的结果节点或者中间结果节点反溯到初始节点。对于eda工具的逻辑设计和自动综合环节而言,如何确定每种类型的基础算子操作的调用次数以及如何确定所有基础算子操作的调用次序,是通过eda工具来设计出集成电路来实现这种算法模型的核心问题。一种现有做法是对算法模型进行整体解析,将其拆分成时序上逐个进行的多个步骤,然后通过基于控制流的时序控制电路或者计算机指令集实现。但是这种基于控制流的现有做法,在算法模型非常复杂时需要在整个求解空间中寻找可行的调用次序并进行优化,耗费时间长且消耗资源。另一种现有做法将算法模型拆分后映射到基于数据流的空域计算架构上,例如基于脉动式阵列的神经网络加速器,通过处理单元(processingelement,pe)或者逻辑计算单元(arithmeticlogicalunit,alu)之间的相邻关系和数据流向来实现加速计算。但是这种基于数据流的现有做法,要求在集成电路设计上预留足够多的pe或者alu数量从而满足映射关系要求,并且在运行中只能根据数据流向调用在指定方位上的相邻pe或者alu,从而导致整体计算资源的利用效率低下。应当理解的是,传统eda编译算法和解析方式都是将算法模型整个拆分成一个个基础算子操作,然后以基于时序的指令集或者基于空间映射的并行处理架构来加速运行。这些拆分方式必须同时考虑控制流和数据流的结合,并且控制操作的变化必须跟数据流的变化紧密契合,否则无法得到最后的结果。

本申请实施例提出的eda工具芯片化方法600,利用上述量子信息学的多路径系统及其同构效应,对于给定的算法模型,将如何确定每种类型的基础算子操作的调用次数以及如何确定所有基础算子操作的调用次序这一问题,等效为量子信息学的多路径系统中寻找特定路径的问题。上述提到多路径系统的演化过程可以在数学上近似为量子本征态的线性叠加,本申请实施例将每种类型的基础算子操作对应一种量子本征态。上述还提到多路径系统的多个节点中每一个节点各自对应量子本征态的线性叠加而产生的叠加态或者某个量子本征态,本申请实施例将与给定算法模型相应的等效多路径系统上的每一个节点看做一种或者多种类型的基础算子操作的概率叠加。根据给定的算法模型,可以确定初始条件和相应的同构效应约束条件,并确定相应的多路径系统的演化过程的同构基础单元。

因为多路径系统的演化过程满足同构效应约束条件,也就是:不重复性,不汇合,可分支性,以及不反馈性,所以在多路径系统的演化过程中寻找特定路径的过程可以通过从上至下先逐级再按照逐个分支依次推进的过程,遍历找到特定路径。由于从初始节点到某个结果节点的路径是唯一的并且不存在循环部分也不存在反向,所以在多路径系统的演化过程中寻找特定路径的过程可以轻松实现,并且可以根据合理性等准则轻松判断当前路径是否为求解结果。另外,因为多路径系统的演化过程可以表示成同构基础单元的同构扩展,而每一个同构基础单元都是多个量子态的演化过程,这些量子态的演化过程对应的是控制流的演化过程,例如图4的同构基础单元400中本征态402为行向量相乘操作,本征态404为求和操作。设某个pe处于本征态402则意味着该pe被控制进行行向量相乘操作,处于本征态404则意味着该pe被控制进行求和操作。因此,通过赋予同构基础单元内每个量子态以控制流的含义,对应某种控制操作,这种控制操作可以是简单的算子操作如行向量相乘或者求和操作,也可以是简单算子操作的结合或者较复杂的算子操作如池化操作。

如此,将控制流拆分成有限次数的控制操作,每个控制操作对应一个量子态,而有限次数的控制操作对应多个量子态,这些量子态的演化过程作为同构基础单元,而该同构基础单元的同构扩展必然能够实现算法需求的求解过程。又因为算法需求的求解过程是相当于在多路径系统的演化过程中寻找特定路径,而该多路径系统的演化过程也是可以看作同构基础单元的同构扩展,并且多路径系统的演化过程满足同构效应约束条件,因此寻找特定路径的过程就是通过从上至下先逐级再按照逐个分支依次推进的方式遍历找到特定路径。在找到特定路径后,该特定路径就是同构基础单元的同构扩展而来。每个量子态所对应的特定控制操作可以用相同的模块化电路实现,所以该特定路径(对算法需求求解的结果)可以看作有限次数类型的多个模块化电路像拼积木一样拼成,并且这些积木的拼接次序也必须满足同构基础单元内的多量子态演化过程的次序。通过拼积木的方式布局好控制流之后,可以轻易结合算法需求推导出相应的数据流并将数据流和控制流结合得到数据流和控制流联合信号,这些联合信号可以看作传统冯诺依曼计算机的指令流,也可以看作是神经网络专用加速器的控制流驱动的映射关系。因为是以模块化电路“积木”的方式拼接,并且拼接次序总是沿着同构基础单元内的多个量子态演化过程的规律,所以应用于算法编译可以有效解析算法,应用于处理器设计可以有效设计指令流或者算法到硬件架构的映射关系,应用于eda仿真工具可以有效模拟算法模型,应用于晶体管级别电路仿真或者设计可以高效完成。

请参阅图7,图7示出了本申请实施例提供的另一种eda工具芯片化方法的流程示意图。如图7所示,eda工具芯片化方法700包括以下步骤。

步骤s702:对给定算法模型的样本进行解析得到与该样本对应的同构基础单元,该同构基础单元是满足同构效应约束条件的多个量子态的演化过程,该多个量子态的每一个量子态对应一种算子操作,其中同构效应约束条件为不重复性、不汇合性、可分支性以及不反馈性。

其中,步骤s702与图6所示的方法600的步骤s602相似,不同之处在于在步骤s702中仅针对给定算法模型的样本进行解析得到同构基础单元。对于任意的算法模型,该算法模型可以看做许多操作的集合,而这些操作在去除其中的数据流信息后可以分类成多种算子操作,例如加法操作、乘法操作、行向量相乘等,根据具体分类方式可以有不同的分类或者范围。从量子信息学的角度来看一个给定的算法模型,该算法模型展开后得到的多种算子操作,每种算子操作的出现次数和出现频率都可以用量子态来表示,例如在卷积神经网络模型算法中卷积运算的算子操作出现概率最大出现次数也最多。该算法模型的样本是该算法模型的一部分或者其中的子模型。对该算法模型的样本进行解析相当于根据该样本所代表的概率分配区间来预测整个算法模型所代表的概率分配区间内的量子态。应当理解的是,根据样本的大小和样本占整个算法模型的比例等,以该算法模型的样本作为基础进行预测得到的概率分配区间与实质上整个算法模型所代表的概率分配区间存在一定误差。但是这种误差主要影响对特定量子态的概率的预测,例如在卷积神经网络模型算法中卷积运算的算子操作出现概率最大,这意味着与卷积运算的算子操作对应的量子态应有较大的概率的数学量,或者说与卷积运算的算子操作对应的量子态应有较大的概率分配区间。假设某个卷积神经网络模型算法的样本中与卷积运算有关的部分占比很小,则根据该样本做出的预测中与卷积运算的算子操作对应的量子态反而可能有较小的概率分配区间。这样会导致根据该样本进行解析得到的同构基础单元中与卷积运算的算子操作对应的量子态也有较小的概率分配区间,进而影响以该同构基础单元进行同构扩展的方式。通过给定算法模型的样本来预测整个算法模型所代表的概率分配区间内的量子态有多种方法,一种做法是通过基于量子算法的预测矩阵,例如在2018年7月13发表的论文“aquantum-inspiredclassicalalgorithmforrecommendationsystems”中提出了根据样本矩阵a来预测整个推荐系统t的量子算法。这些可以根据实际应用调整,在此不做具体限定。

步骤s704:以该同构基础单元为基础进行同构扩展,得到与给定算法模型对应的多路径系统的演化过程,该多路径系统的演化过程也满足同构效应约束条件。

其中,步骤s704与图6所示的方法600的步骤s604相似,在此不再赘述。

步骤s706:根据给定算法模型的预期输出确定该多路径系统的演化过程的结果节点,根据给定算法模型的初始条件确定该多路径系统的演化过程的初始节点,根据该同构基础单元和该同构效应约束条件得到推演结果,该推演结果包括从该结果节点反溯到该初始节点途经的各个中间节点以及各自对应的本征态/叠加态。

其中,步骤s706与图6所示的方法600的步骤s606相似,在此不再赘述。

步骤s708:根据该推演结果中该初始节点、各个中间节点以及该结果节点各自对应的本征态或者叠加态,结合该同构基础单元所包括的该多个量子态各自对应的算子操作,获得该算法模型从初始条件到预期输出的各个算子操作的控制流信息。

其中,步骤s708与图6所示的方法600的步骤s608相似,在此不再赘述。

步骤s710:根据该控制流信息,结合该算法模型的初始条件和预期输出,获得相应的数据流信息,结合该控制流信息和该数据流信息得到该算法模型的计算流程。

其中,步骤s710与图6所示的方法600的步骤s610相似,在此不再赘述。

请参阅图6和图7,通过对算法模型或者算法模型的样本进行解析,得到该算法模型展开后的计算流程,包括控制流信息和数据流信息。其中控制流信息是通过以同构基础单元为基础进行同构扩展得到,这意味着所有控制流信息可以模块化电路“积木”的方式拼接出来。通过拼积木的方式布局好控制流之后,可以轻易结合算法需求推导出相应的数据流并将数据流和控制流结合得到数据流和控制流联合信号,这些联合信号可以看作传统冯诺依曼计算机的指令流,也可以看作是神经网络专用加速器的控制流驱动的映射关系。因为是以模块化电路“积木”的方式拼接,并且拼接次序总是沿着同构基础单元内的多个量子态演化过程的规律,对于eda工具的逻辑设计和自动综合环节来说,这意味着可以用模块化的标准模型来进行同样的拼接,并且每个模块化的标准模型都是对应同一个同构基础单元也就是说这些模块化的标准模型具有相同的结构和大部分复用的细节,仅需要根据具体的控制流信息和数据流信息作出微调,从而有利于进行逻辑设计和仿真。而这些高度相似的模块化的标准模型在eda工具的自动综合环节也有利于进行晶体管的布局和电路布线。总之,本申请实施例提供的eda工具芯片化方法应用于算法编译可以有效解析算法,应用于处理器设计可以有效设计指令流或者算法到硬件架构的映射关系,应用于eda仿真工具可以有效模拟算法模型,应用于晶体管级别电路仿真或者设计可以高效完成。本申请实施例提供的eda工具芯片化方法不仅大幅简化了获得给定算法模型的计算流程的过程,而且通过模块化的标准模型进行拼接的方式来实现整个计算流程,从而进一步简化了逻辑设计、仿真以及自动综合的工作量,这样有利于将该eda工具芯片化,并得到芯片化eda工具,下面将详细叙述。

请参阅图8,图8示出了本申请实施例提供的芯片化eda工具的结构示意图。如图8所示,芯片化eda工具800包括解析模块810、同构基础单元复用模块812、同构扩展模块814以及匹配模块816。其中,解析模块810对接收的算法模型802的全部或者其中一部分的样本进行解析,从而确定同构基础单元以及与该同构基础单元的多个量子态各自对应的算子操作。同构基础单元复用模块812存储有同构基础单元以及与该同构基础单元的多个量子态各自对应的算子操作。解析模块810可以根据实际情况判断是否需要更新同构基础单元复用模块812所存储的同构基础单元。在一种可能的实施方式中,解析模块810将根据当前算法模型802的解析结果所得出的同构基础单元与同构基础单元复用模块812所存储的同构基础单元进行比较,如果不相同则用当前算法模型802的解析结果所得出的同构基础单元来更新同构基础单元复用模块812。在另一种可能的实施方式中,解析模块810先根据当前算法模型802的第一样本的解析结果得出第一同构基础单元,再将第一同构基础单元与同构基础单元复用模块812所存储的同构基础单元进行比较,如果不相同则再根据当前算法模型802的第二样本的解析结果得出第二同构基础单元,并将第二同构基础单元与同构基础单元复用模块812所存储的同构基础单元进行比较。第二样本包括第一样本并且要大于第一样本,或者第二样本与第一样本有部分重叠或者完全不重叠。同构基础单元复用模块812所存储的同构基础单元用于同构扩展模块814以同构扩展的方式来展开该算法模型802从而获得控制流信息804,匹配模块816结合算法模型802和控制流信息804来生成与控制流信息804相匹配的数据流信息806。其中,同构扩展模块814参考图6所示的步骤s604、步骤s606和步骤s608或者图7所示的步骤s704、步骤s706和步骤s708,以同构基础单元复用模块812的同构基础单元为基础进行同构扩展,得到与算法模型802对应的多路径系统的演化过程,然后根据算法模型802的预期输出确定该多路径系统的演化过程的结果节点,根据算法模型802的初始条件确定该多路径系统的演化过程的初始节点,根据同构基础单元和同构效应约束条件得到推演结果,该推演结果包括从该结果节点反溯到该初始节点途经的各个中间节点以及各自对应的本征态/叠加态,最后结合同构基础单元所包括的该多个量子态各自对应的算子操作,获得算法模型802从初始条件到预期输出的各个算子操作的控制流信息804。匹配模块816根据控制流信息804,结合算法模型802的初始条件和预期输出,获得相应的数据流信息806。与芯片化eda工具800连接的后级模块可以结合控制流信息804和数据流信息806得到算法模型802的计算流程。

应当理解的是,图8所示的芯片化eda工具800仅为示例性,其各个部件的功能可以重新组合或者调整。在一些示例性实施例中,芯片化eda工具800可以不包括同构基础单元复用模块812,而是由解析模块810根据算法模型802来生成相应的同构基础单元用于同构扩展模块814进行同构扩展。在一些示例性实施例中,芯片化eda工具800还可以将匹配模块816和同构扩展模块814整合在一起从而输出控制流信息804和数据流信息806。在一些示例性实施例中,同构基础单元复用模块812可以是标准化的同构基础单元库,其中存储有多个预设的同构基础单元,而解析模块810则根据算法模型802的解析结果来选择其中一个预设的同构基础单元作为与算法模型802对应的同构基础单元用于同构扩展。这些可以根据实际情况做出调整,在此不做具体限定。

图8所示的芯片化eda工具800所输出的控制流信息804和数据流信息806可用于编译工具从而生成算法模型802的编译结果,也可以用于指令集设计,也可以用于仿真工具,还可以用于自动综合工具来生成电路布线布局。

请参阅图9,图9示出了本申请实施例提供的集成了图8所示的芯片化eda工具的芯片的结构示意图。如图9所示,芯片900包括算法模型存储器910,芯片化eda工具912,pe序列生成器914和pe池916。其中,算法模型存储器910从芯片900外部接收需要该芯片900来执行的算法模型902,算法模型902可以理解成为解决特定问题而提出的解决方案,如神经网络模型算法或者常见的计算机软件层面算法。算法模型存储器910可以存储所接收的算法模型或者可以存储有几种常见的标准化算法模型并根据所接收的信息选择其中一种算法模型。算法模型存储器910将所接收的算法模型或者所选择的标准化算法模型传输给芯片化eda工具912,芯片化eda工具912与图8所示的芯片化eda工具800相似,在此不再赘述。芯片化eda工具912通过解析算法模型而生成相应的控制流信息和数据流信息。如上所述,芯片化eda工具912所生成的控制流信息是通过以同构基础单元为基础进行同构扩展得到,因此适合用模块化的标准模型进行拼接来在硬件上实现。pe池916包括多个pe,每个pe包括可用于执行同构基础单元所包括的该多个量子态各自对应的算子操作的必要电路,每个pe还包括寄存器用于存储当前的计算结果用于数据复用。pe序列生成器914从芯片化eda工具912接收控制流信息和数据流信息,并生成pe序列906以及根据生成的pe序列906调用pe池916中的一个或者多个pe。pe序列生成器914所生成的pe序列906是pe池916中的pe的调用次序。例如pe池916总共包括10个pe,而pe序列生成器914可以生成总长度为20的pe调用次序906,并通过复用pe池916的pe来完成整个pe调用次序。应当理解的是,pe池916中的pe被调用的次序和每个pe被调用的次数等与这些pe在空间上的排列顺序或者邻近关系无关。这是因为pe序列生成器914根据芯片化eda工具912所提供的控制流信息而决定需要调用的pe的总次数,也就是芯片化eda工具912对算法模型902进行解析和展开后得到的控制流信息中与算法模型902等效的量子信息学多路径系统的路径上的节点的总数。例如,假设芯片化eda工具912对图5所示的算法实例501进行解析后得到同构基础单元500并根据同构基础单元500展开算法实例501得到图5所示的节点510、节点511、节点512、节点513、节点514、节点515、节点516以及节点517。则与算法实例501等效的量子信息学多路径系统具有总计8个节点,pe序列生成器914生成相应的总长度为8的pe序列906分别对应这8个节点中的每一个。根据pe池916中的pe总数和pe序列906的总长度可以决定如何复用pe。这些可以根据实际情况调整,在此不做具体限定。

请继续参阅图9,pe序列生成器914生成的pe序列906决定了pe池916中被调用的pe的次序和次数以及每个被调用的pe所执行的算子操作,pe序列生成器914还将与控制流信息匹配的数据流信息赋予相应的pe,从而完成算法模型902的计算流程并输出算法模型输出结果904。在一些示例性实施例中,芯片900可以不包括pe池916,而是与外部的计算资源池相连接,由pe序列生成器914决定如何调用外部的计算资源池。例如,芯片900可以跟多个并行的gpu相连接或者跟虚拟化的多个gpu相连接,由pe序列器914生成pe序列906来决定如何调用这些外部计算资源从而完成算法模型输出结果904。

应当理解的是,芯片化eda工具912利用上述量子信息学的多路径系统及其同构效应,对于给定的算法模型,将如何确定每种类型的基础算子操作的调用次数以及如何确定所有基础算子操作的调用次序这一问题,等效为量子信息学的多路径系统中寻找特定路径的问题。上述提到多路径系统的演化过程可以在数学上近似为量子本征态的线性叠加,本申请实施例将每种类型的基础算子操作对应一种量子本征态。上述还提到多路径系统的多个节点中每一个节点各自对应量子本征态的线性叠加而产生的叠加态或者某个量子本征态,本申请实施例将与给定算法模型相应的等效多路径系统上的每一个节点看做一种或者多种类型的基础算子操作的概率叠加。根据给定的算法模型,可以确定初始条件和相应的同构效应约束条件,并确定相应的多路径系统的演化过程的同构基础单元。因为多路径系统的演化过程满足同构效应约束条件,也就是:不重复性,不汇合,可分支性,以及不反馈性,所以在多路径系统的演化过程中寻找特定路径的过程可以通过从上至下先逐级再按照逐个分支依次推进的过程,遍历找到特定路径。由于从初始节点到某个结果节点的路径是唯一的并且不存在循环部分也不存在反向,所以在多路径系统的演化过程中寻找特定路径的过程可以轻松实现,并且可以根据合理性等准则轻松判断当前路径是否为求解结果。另外,因为多路径系统的演化过程可以表示成同构基础单元的同构扩展,而每一个同构基础单元都是多个量子态的演化过程,这些量子态的演化过程对应的是控制流的演化过程。

如此,芯片化eda工具912将控制流拆分成有限次数的控制操作,每个控制操作对应一个量子态,而有限次数的控制操作对应多个量子态,这些量子态的演化过程作为同构基础单元,而该同构基础单元的同构扩展必然能够实现算法需求的求解过程。又因为算法需求的求解过程是相当于在多路径系统的演化过程中寻找特定路径,而该多路径系统的演化过程也是可以看作同构基础单元的同构扩展,并且多路径系统的演化过程满足同构效应约束条件,因此寻找特定路径的过程就是通过从上至下先逐级再按照逐个分支依次推进的方式遍历找到特定路径。在找到特定路径后,该特定路径就是同构基础单元的同构扩展而来。每个量子态所对应的特定控制操作可以用相同的模块化电路实现,所以该特定路径(对算法需求求解的结果)可以看作有限次数类型的多个模块化电路像拼积木一样拼成,并且这些积木的拼接次序也必须满足同构基础单元内的多量子态演化过程的次序。因此,通过对算法模型或者算法模型的样本进行解析,得到该算法模型展开后的计算流程,包括控制流信息和数据流信息。其中控制流信息是通过以同构基础单元为基础进行同构扩展得到。

图9所示的芯片900将任意算法模型902的计算任务通过生成pe序列906并按照pe序列906调用pe来执行,从而可以用于具有任意类型和结构的计算资源的应用场景,pe池可以具有任意规格的pe,例如12x15的pe阵列等。并且,因为pe序列906中所含有的控制信息是通过以同构基础单元为基础进行同构扩展得到,因此为满足pe序列906需求而调用的芯片900自有的pe池916的pe或者芯片900的外部的计算资源的等效pe,均只需要执行与同构基础单元的有限次数的量子态各自对应的控制操作,这样有利于预先设计pe的结构功能或者规划芯片900的外部计算资源,从而有利于以模块化电路实现。

请参阅图3至图9,在一种可能的实施方式中,本申请实施例提供了一种芯片。所述芯片包括:解析模块,其中,所述解析模块根据算法模型确定多个第一算子操作,所述多个第一算子操作与多个第一量子态一一对应,所述多个第一量子态的演化过程满足同构效应约束条件;以及扩展模块,其中,所述扩展模块用于生成所述算法模型的控制流信息,所述控制流信息对应量子信息学多路径系统的至少一条路径,所述至少一条路径通过对所述多个第一量子态的演化过程进行同构扩展得到。其中,所述控制流信息用于所述芯片完成所述算法模型的计算。如此,通过以满足同构效应约束条件(不重复性,不汇合性,可分支性,以及不反馈性)的多个第一量子态的演化过程作为基础进行同构扩展,从而使得量子信息学多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,使得可以通过反溯推演的方式来求解路径,再利用多个第一量子态与多个第一算子操作之间的对应关系从而将控制流信息的生成转化成在多路径系统的演化过程中寻找特定路径,进而可以通过反溯推演求解路径来大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

请参阅图3至图9,在一种可能的实施方式中,本申请实施例提供了一种芯片化eda装置。所述芯片化eda装置包括:解析模块,其中,所述解析模块根据算法模型确定同构基础单元,所述同构基础单元包括多个第一量子态的演化过程,所述多个第一量子态与多个第一算子操作一一对应,所述多个第一量子态的演化过程满足同构效应约束条件;同构扩展模块,其中,所述同构扩展模块用于生成所述算法模型的控制流信息,所述控制流信息对应量子信息学多路径系统的至少一条路径,所述至少一条路径根据所述同构基础单元进行同构扩展得到;以及匹配模块,其中,所述匹配模块根据所述控制流信息和所述算法模型确定与所述控制流信息相匹配的数据流信息。如此,通过以满足同构效应约束条件(不重复性,不汇合性,可分支性,以及不反馈性)的多个第一量子态的演化过程作为基础进行同构扩展,从而使得量子信息学多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,使得可以通过反溯推演的方式来求解路径,再利用多个第一量子态与多个第一算子操作之间的对应关系从而将控制流信息的生成转化成在多路径系统的演化过程中寻找特定路径,进而可以通过反溯推演求解路径来大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

请参阅图3至图9,在一种可能的实施方式中,本申请实施例提供了一种eda工具芯片化方法。所述方法包括:对算法模型进行解析得到同构基础单元,其中,所述同构基础单元包括多个第一量子态的演化过程,所述多个第一量子态与多个第一算子操作一一对应,所述多个第一量子态的演化过程满足同构效应约束条件;根据所述同构基础单元进行同构扩展得到与所述算法模型对应的多路径系统的至少一条路径,其中,所述至少一条路径包括多个第二量子态的演化过程,所述多个第二量子态的每一个第二量子态是所述多个第一量子态中一个第一量子态或者多个第一量子态的叠加态;生成所述算法模型的控制流信息,其中,所述控制流信息包括多个第二算子操作,所述多个第二算子操作与所述多个第二量子态一一对应,所述多个第二算子操作根据各自对应的第二量子态所对应的第一量子态或者第一量子态的叠加态而确定为所述多个第一算子操作中的一个第一算子操作;以及根据所述控制流信息和所述算法模型确定与所述控制流信息相匹配的数据流信息。如此,通过以满足同构效应约束条件(不重复性,不汇合性,可分支性,以及不反馈性)的多个第一量子态的演化过程作为基础进行同构扩展,从而使得量子信息学多路径系统的演化过程也满足同构效应约束条件并且具有因果不变性等特性,使得可以通过反溯推演的方式来求解路径,再利用多个第一量子态与多个第一算子操作之间的对应关系从而将控制流信息的生成转化成在多路径系统的演化过程中寻找特定路径,进而可以通过反溯推演求解路径来大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此大幅简化了在算法编译、指令生成、eda仿真和自动综合环节的时间资源需求。

在一种可能的实施方式中,本申请实施例提供了一种ic仿真装置。所述ic仿真装置包括芯片化eda装置,该芯片化eda装置参考图6或图7所示的eda工具芯片化方法又或者参考图8所示的芯片化eda工具。所述ic仿真装置根据ic逻辑电路图确定所述算法模型,所述ic仿真装置根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息生成所述ic逻辑电路图的仿真结果。如此,因为本申请实施例的eda工具芯片化方法和芯片化eda工具大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此该芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用该芯片化eda装置来生成仿真结果的ic仿真装置也因此具有节省时间资源的有益技术效果。

在一种可能的实施方式中,本申请实施例提供了一种eda自动综合装置。所述eda自动综合装置包括芯片化eda装置,该芯片化eda装置参考图6或图7所示的eda工具芯片化方法又或者参考图8所示的芯片化eda工具。所述eda自动综合装置根据ic逻辑电路图确定所述算法模型,所述eda自动综合装置根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息生成所述ic逻辑电路图的电路布线结构。如此,因为本申请实施例的eda工具芯片化方法和芯片化eda工具大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此该芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用该芯片化eda装置来生成电路布线结构的eda自动综合装置也因此具有节省时间资源的有益技术效果。

在一种可能的实施方式中,本申请实施例提供了一种神经网络处理器。所述神经网络处理器包括芯片化eda装置,该芯片化eda装置参考图6或图7所示的eda工具芯片化方法又或者参考图8所示的芯片化eda工具。所述算法模型是神经网络算法模型,所述神经网络处理器还包括多个并行gpu,所述神经网络处理器根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息调用所述多个并行gpu来实现所述神经网络算法模型的计算。如此,因为本申请实施例的eda工具芯片化方法和芯片化eda工具大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此该芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用该芯片化eda装置来实现所述神经网络算法模型的计算的神经网络处理器也因此具有节省时间资源的有益技术效果。

在一种可能的实施方式中,本申请实施例提供了一种cpu。所述cpu包括芯片化eda装置,该芯片化eda装置参考图6或图7所示的eda工具芯片化方法又或者参考图8所示的芯片化eda工具。所述cpu根据所述芯片化eda装置所提供的所述控制流信息和所述数据流信息生成用于实现所述算法模型的计算的指令。如此,因为本申请实施例的eda工具芯片化方法和芯片化eda工具大幅简化控制流信息的生成过程,并且如此生成的控制流信息由于是同构扩展得到而利于用模块化电路或者标准模型进行拼接也利于获得与控制流信息相匹配的数据流信息,因此该芯片化eda装置可以利用有限的硬件资源便实现传统上需要大量计算资源和存储资源才能完成的eda工具的逻辑设计和自动综合环节,从而实现了芯片化的集成,可以适用于任意资源有限的边缘侧或者端侧设备的芯片上同时还提供了高效的算法编译、指令生成、eda仿真和自动综合等功能,而采用该芯片化eda装置来生成用于实现所述算法模型的计算的指令的cpu也因此具有节省时间资源的有益技术效果。

除非另有说明,本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(dsp),专用集成电路(asic),现场可编程门阵列(fpga)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部分。

除非另有说明,本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(ram),闪存,只读存储器(rom),可擦可编程只读存储器(eprom),电可擦可编程只读存储器(eeprom),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(cd),数字多功能光盘(dvd),大容量存储介质设备或任何其他形式的合适存储介质。

以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本申请另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1