一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于随机网络拓扑的硬件运行验证方法、设备及存储介质与流程

2022-04-13 16:20:27 来源:中国专利 TAG:


1.本发明涉及网络技术领域,特别涉及一种基于随机网络拓扑的硬件运行验证方法、基于随机网络拓扑的硬件运行验证设备及计算机可读存储介质。


背景技术:

2.随着深度学习的快速发展,基于真实网络的网络模拟显得愈发重要,但是由于网络存在复杂性、多样性等特点,根据真实网络模拟出来的网络存在一定的缺陷,比如稳定性不高等,其中影响网络稳定性最重要的因素就是网络拓扑结构。
3.虽然目前相关技术中也有生成网络拓扑结构的方法,比如:人为指定数据生成网络拓扑,也有随机生成网络拓扑的,但是所生成的网络拓扑只是客观反映真实的网络结构,对于硬件的运行结果是进行无法验证的。
4.需要说明的是,上述内容仅用于辅助理解本发明所解决的技术问题,并不代表承认上述内容是相关技术。


技术实现要素:

5.本发明的主要目的是提供一种随机网络拓扑验证方法、设备及计算机可读存储介质,解决了相关技术中网络拓扑无法对硬件的运行结果进行验证,实现了使用网络拓扑来验证硬件正确性。
6.为实现上述目的,本发明提出的基于随机网络拓扑的硬件运行验证方法,所述基于随机网络拓扑的硬件运行验证方法的步骤包括:
7.调用随机网络拓扑系统中的接口获得目标输入数据,所述目标输入数据为硬件的待验证数据;
8.基于所述随机网络拓扑系统的算法图结构和模拟算法图结构对所述目标输入数据进行处理,以输出所述目标输入数据的模拟算法图结构;
9.对所述模拟算法图结构进行编译运行,以得到所述硬件的模拟运行结果;
10.比对所述模拟运行结果和所述硬件基于所述目标输入数据的实际运行结果,以验证所述硬件的运行结果。
11.可选地,所述基于所述随机网络拓扑系统的算法图结构和模拟算法图结构对所述目标输入数据进行处理,以输出所述目标输入数据的模拟算法图结构的步骤包括:
12.基于所述算法图结构和所述目标输入数据,得到对应的算法数据;
13.基于所述算法数据,转换成数字数据;
14.基于所述数字数据,输入到所述算法图结构中得到模拟算法图结构。
15.可选地,所述对所述模拟算法图结构进行编译运行,以得到所述硬件的模拟运行结果的步骤包括:
16.编译所述模拟算法图结构得到对应的机器语言;
17.基于所述机器语言,采用进制转换法得到模拟运行结果。
18.可选地,所述对所述模拟算法图结构进行编译运行,以得到所述硬件的模拟运行结果的步骤之后,还包括:
19.比对所述模拟运行结果和算法数据,得到所述模拟运行结果和算法数据的差值;
20.在所述差值小于或等于预设阈值时,执行所述比对所述模拟运行结果和所述硬件基于所述目标输入数据的实际运行结果,以验证所述硬件的运行结果。
21.可选地,所述基于所述算法图结构和所述目标输入数据,得到对应的算法数据的步骤包括:
22.获取所述目标输入数据对应的尺寸大小、卷积核大小、填充值大小和步长大小;
23.基于所述算法图结构、尺寸大小、卷积核大小、填充值大小和步长大小,得到算法数据。
24.可选地,所述基于所述算法图结构和所述目标输入数据,得到算法数据的步骤之前,还包括:
25.获取数据类型、拓扑结构和神经网络计算基本单元算子,基于所述神经网络计算基本单元算子,确定神经网络计算基本单元算子之间的连接关系;
26.基于所述连接关系、拓扑结构和数据类型,生成算法图结构。
27.可选地,所述基于所述神经网络计算基本单元算子,确定神经网络计算基本单元算子之间的连接关系的步骤包括:
28.基于所述拓扑结构,标记每个神经网络计算基本单元节点的入度数,并存入入度数数组中;
29.基于所述神经网络计算基本单元算子,确定初始节点数据量大小;
30.基于所述入度数数组和所述初始节点数据量大小,确定神经网络计算基本单元之间的连接关系。
31.可选地,所述基于所述神经网络计算基本单元算子,确定初始节点数据量大小的步骤包括:
32.基于所述神经网络计算基本单元算子,获取对应的参数数据量大小;
33.基于所述参数数据量大小,获取对应的尺寸大小、卷积核大小、填充值大小和步长大小,计算初始节点量大小。
34.此外,为实现上述目的,本发明还提供了一种基于随机网络拓扑的硬件运行验证设备,所述基于随机网络拓扑的硬件运行验证设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的随机网络拓扑验证程序,所述基于随机网络拓扑的硬件运行验证程序被所述处理器执行时实现如上所述的基于随机网络拓扑的硬件运行验证方法的步骤。
35.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于随机网络拓扑的硬件运行验证程序,所述基于随机网络拓扑的硬件运行验证程序被处理器执行时实现如上所述的基于随机网络拓扑的硬件运行验证方法的步骤。
36.本发明公开了基于随机网络拓扑的硬件运行验证方法、设备及介质,所述基于随机网络拓扑的硬件运行验证方法的步骤包括:调用随机网络拓扑系统中的接口获得目标输入数据,所述目标输入数据为硬件的待验证数据;基于所述随机网络拓扑系统的算法图结
构和模拟算法图结构对所述目标输入数据进行处理,以输出所述目标输入数据的模拟算法图结构;对所述模拟算法图结构进行编译运行,以得到所述硬件的模拟运行结果;比对所述模拟运行结果和所述硬件基于所述目标输入数据的实际运行结果,以验证所述硬件的运行结果。本发明首先是通过调用外部接口来获取硬件所需要检测的数据,然后根据所获取的待检测数据,输入到已经构建好的算法图结构中,通过算法图结构对待检测数据的运算处理之后得到算法数据,再把算法数据进行量化转换成数字数据之后,再输入到算法图结构中,得到模拟算法图结构,编译运行模拟算法图结构之后会得到模拟运行结果,对模拟运行结果和算法数据作差,得到的差值小于或者等于预设阈值的时候,再去比对模拟算法和实际硬件运行的结果,也就是二者结果作差,若是差值等于0,说明二者运行结果是一致的,就证明硬件运行结果是没有问题的,从而实现硬件运行结果正确性的验证。
附图说明
37.图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
38.图2为本发明基于随机网络拓扑的硬件运行验证方法第一实施例的流程示意图;
39.图3为本发明基于随机网络拓扑的硬件运行验证方法第二实施例的流程示意图;
40.图4为本发明基于随机网络拓扑的硬件运行验证方法第三实施例的流程示意图;
41.图5本发明基于随机网络拓扑的硬件运行验证方法第三实施例步骤s110的细化流程示意图;
42.图6为本发明基于随机网络拓扑的硬件运行验证方法第四实施例的流程示意图。
43.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
44.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
45.本发明主要解决的技术问题是采用随机的网络拓扑结构来验证对硬件运行结果的正确性,所采用的技术手段是先随机生成一种数据类型,然后在随机生成一种拓扑结构,之后随机生成op算子(operater神经网络计算基本单元算子),根据op算子来确定op之间的连接关系,也就是shape(连接)关系,把shape关系和数据类型输入到拓扑结构中,生成algo图结构(算法图结构),通过调用接口去获取硬件的待检测数据,并把获取到的数据输入到algo图结构中去运算,得到一个algo图结构对应的输出数据,再对algo输出数据进行量化之后再进行构图,生成sim图结构,输出得到sim输出结果,比对algo和sim两个输出结果,若algo和sim的输出结果小于16,证明这两个比对结果是没有问题的,期间sim图结构生成test.model文件,把test.model放在systemc(c语言系统)上运行,得到模拟硬件结果,比对sim和模拟硬件的输出结果,若是二者一致,就可以认为硬件运行是没有问题的。
46.为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
47.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
48.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
49.本发明实施例设备可以是服务器设备。
50.如图1所示,该设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
51.本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
52.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及网络拓扑硬件验证程序。
53.在图1所示的终端设备中,网络接口1004主要用于与后台服务器进行数据通信;用户接口1003主要用于与客户端(用户端)进行数据通信;处理器1001可以用于调用存储器1005中网络拓扑的硬件运行验证程序,并执行以下操作:
54.调用随机网络拓扑系统中的接口获得目标输入数据,所述目标输入数据为硬件的待验证数据;
55.基于所述随机网络拓扑系统的算法图结构和模拟算法图结构对所述目标输入数据进行处理,以输出所述目标输入数据的模拟算法图结构;
56.对所述模拟算法图结构进行编译运行,以得到所述硬件的模拟运行结果;
57.比对所述模拟运行结果和所述硬件基于所述目标输入数据的实际运行结果,以验证所述硬件的运行结果。
58.参照图2,图2为本技术基于随机网络拓扑的硬件运行验证方法第一实施例的流程示意图。
59.本技术实施例提供了一种基于随机网络拓扑的硬件运行验证方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
60.本实施例的基于随机网络拓扑的硬件运行验证方法,包括以下步骤:
61.步骤s100,调用随机网络拓扑系统中的接口获得目标输入数据,所述目标输入数据为硬件的待验证数据;
62.需要说明的是,在验证硬件运行结果正确性之前需要知道硬件的相关运行参数,把参数输入到已经够构建好的结构中,进行一系列的运算之后,得到最终的验证结果,获取硬件的待检测运行参数,可以是外部输入,还可以是在根据硬件的一些数据随机生成运行参数,比如:硬件的内存数据等。
63.在本实施例中,是通过调用接口去获取硬件的待检测数据,接口是指需要的数据可以从别处获取,不需要额外进行运算得到或者额外输入,抑或是随机生成,比如:在一段加法运算程序中,想要实现加法运算并得到结果,需要获取两个数据才能进行,但是这两个数据需要通过接口获取的,在另一个程序中主要是生成加法数据的,只要给出接口路径就
行,在加法程序中,调用这个接口路径就可以获取到数据,并进行加法运算。
64.步骤s200,基于所述随机网络拓扑系统的算法图结构和模拟算法图结构对所述目标输入数据进行处理,以输出所述目标输入数据的模拟算法图结构;
65.需要说明的是,在获取到硬件运行参数之后,需要把硬件运行参数输入到已经构建好的图结构中进行运算处理,并输出得到硬件运行参数对应的模拟算法图结构。
66.在本实施例中,已经通过调用接口获取到了硬件的待检测数据之后,需要把这个而待检测数据输入到之前就已经构建好的算法图结构(algo图结构)中进行运算处理,运算处理按照具体的公式来计算,计算完成之后得到结果,根据计算出来的结果进行处理之后,再输入到已经构建好的拓扑结构中得到模拟算法图结构,比如:已经获取到硬件待检测数据,把待检测数据输入到已经构建好的推普结构中,通过公式(w-f 2p)/s 1,来计算得到结果,其中w是指待检测数据的输入大小,f是指待检测数据的卷积核大小,p是指待检测数据的填充值大小,s是指待检测数据的步长大小,在把结果处理之后输入到拓扑结构中得到模拟算法图结构,比如:待检测数据是conv2d(3,12,4,2),其中3是输入大小w,12是卷积核大f小,4是步长大小s,2是填充值大小p,按照给出的公式(w-f 2p)/s 1计算即可。
67.步骤s300,对所述模拟算法图结构进行编译运行,以得到所述硬件的模拟运行结果;
68.在本实施例中,得到是模拟算法图结构(sim,模拟算法),需要对模拟算法图结构进行编译运行,把图结构的形式转换成数据形式,其中的编译运行就是把高级语言或者是非机器语言转换成机器语言,机器语言只分为0和1,再根据机器语言转换成数据的形式,来输出模拟算法的最终运行结果。
69.步骤s400,比对所述模拟运行结果和所述硬件基于所述目标输入数据的实际运行结果,以验证所述硬件的运行结果。
70.在本实施例中,在得到sim图结构的过程中,分为两个步骤去执行,第一个步骤是直接编译运行得到sim运行结果,还有一个步骤就是对sim图结构进行序列化和反序列化得到test.model文件,把test.model文件放在systemc(c语言系统)硬件上面执行,得到模拟硬件的运行结果,比对sim运行结果和模拟硬件运行结果,若二者结果是一致的,则可以证明硬件运行结果是没有问题的,其中序列化是指把对象转换为字节序列,永久保存到磁盘中,在网络中传输对象也要进行序列化,而反序列化是指从磁盘中读取字节序列将它们反序列化成对象读出来,简单的来说就是把对象转换为字节序列是序列化,把字节序列恢复成对象的过程就是反序列化。
71.本技术是通过调用随机网络拓扑系统中的接口获得目标输入数据,所述目标输入数据为硬件的待验证数据;基于所述随机网络拓扑系统的算法图结构和模拟算法图结构对所述目标输入数据进行处理,以输出所述目标输入数据的模拟算法图结构;对所述模拟算法图结构进行编译运行,以得到所述硬件的模拟运行结果;比对所述模拟运行结果和所述硬件基于所述目标输入数据的实际运行结果,以验证所述硬件的运行结果。本发明首先是通过接口获取硬件待验证的数据,把获取到的数据输入到图结构当中进行两两对比,得到最终的验证结果,实现了对硬件运行结果正确性的验证。
72.进一步地,参考图3,基于上述第一实施例,提出本技术基于随机网络拓扑的硬件运行验证方法第二实例。
73.本技术基于随机网络拓扑的硬件运行验证方法第二实例与第一实施例的区别在于,步骤s200包括:
74.步骤s210,基于所述算法图结构和所述目标输入数据,得到对应的算法数据;
75.在本实施例中,根据已经构建好algo图结构把目标输入数据,也就是硬件的待检测数据输入到algo图结构中,algo图结构对硬件的待检测数据进行处理,可以是通过相应的计算公式在图结构的基础上,计算出algo的输出结果,也可以是硬件的待检测结果填充到algo图结构上,根据图结构的连接关系来得到。
76.可选地,步骤s210包括:
77.获取所述目标输入数据对应的尺寸大小、卷积核大小、填充值大小和步长大小;
78.基于所述算法图结构、尺寸大小、卷积核大小、填充值大小和步长大小,得到所述算法数据。
79.需要说明的是,通过接口得到的目标输入数据,根据公式(w-f 2p)/s 1,其中w是指目标输入数据中的尺寸大小,f是指目标输入数据中的卷积核大小,p是指目标输入数据中的填充值大小,s是指目标输入数据中的步长大小,还有algo图结构中的算子之间的连接关系、图层关系、拓扑关系等来计算出algo的输出结果。
80.步骤s220,将所述算法数据转换成数字数据;
81.在本实施例中,得到algo输出数据之后,得到的algo输出数据是连续信号,需要把algo输出数据进行量化,转换成数字信号之后,得到量化之后的数据,其中量化就是指将高精度的运算转换成低精度上进行,比如:将32位浮点型的数据转换成8位无符号整型的数据。
82.步骤s230,基于所述数字数据,输入到所述算法图结构中得到模拟算法图结构。
83.在本实施例中,根据量化之后得到的数据,再把量化后的数据作为原始输入数据输入到拓扑结构中,采用graphparameters结构体(graphparameters,图形参数)来存储构图所有相关的信息,比如:构图相关的所有数据、拓扑关系、op层次关系、输入输出图层、索引等信息,graphparameters结构体记录在构图过程中每个图层的信息,中间图层信息和输出图层信息,每个图层的信息会记录处理过的图层索引,当切换算子时,下一个算子的图层会在每个图层信息上叠加,并仍然记录图层,原始输入数据是第一层的输入数据,下一层的输入数据是上一层的输出数据,依次计算下去,最终构建得到sim图结构。其中结构体是指类似于名片形式的数据集合体,我们把它理解为一种由用户定义的特殊的复合型的“数据类型”,在这个复合型的“数据类型”中可以包含多种基本数据类型,可以把它作为一个整体来操作。
84.本实施例中是首先根据已经构建好的algo图结构和通过接口获取的到的硬件待检测数据,处理待检测数据之后得到algo数据,在把algo数据进行量化之后得到sim图结构,在后面对比硬件运行结果的时候能够保证sim的没有问题。
85.进一步地,参考图4,基于上述第一实施例和第二实施例,提出本技术基于随机网络拓扑的硬件运行验证方法第三实例。
86.本技术基于随机网络拓扑的硬件运行验证方法第三实例与第一实施例和第二实施例的区别在于,在步骤s210之前,还包括:
87.步骤s110,获取数据类型、拓扑结构和神经网络计算基本单元算子,基于所述神经
网络计算基本单元算子,确定神经网络计算基本单元算子之间的连接关系;
88.在本实施例中,首先先随机获取一种数据结构,数据结构在这里主要是两种:fp和q8,fp是指32位浮点型数据,q8是指8位无符号整型数据,之后再随机选取一种拓扑结构,而这里的拓扑结构分为三种:线性结构,也就是单输入单输出结构、双输入单输出结构、单输入双输出结构,再是随机选取三种op算子,选取三种op算子是因为目前仅支持三种,但是后续会增加,根据op算子来随机获取参数数据量大小,并根据随机获取到的参数数据量大小,来确定每个算子之间的连接关系,选定op算子之后,还有一个步骤就是用选取的op算子对所选取的拓扑结构进行校验,如果校验通过,则确定该op算子,若是校验不通过,则不断选取,直到能够填充选定的这个拓扑结构为止,其中参数数据量大小是指随机生成op所需要的ih、iw和ic,也就是数据的长宽高,或者可以说是数据的尺寸,其中ih是指输入op的高度,iw是指输入op的宽度,ic是指输入op所需要的管道,同时也是确定op算子之间的连接关系。
89.可选地,参照图5,步骤s110包括:
90.步骤s111,基于所述拓扑结构,标记每个神经网络计算基本单元节点的入度数,并存入入度数数组中;
91.依据所选取拓扑结构,标记每个op节点的入度数,并把这个入度数存入到数组中,对三种拓扑结构进行标记,以此来区分是哪一种拓扑结构,方便后面在确定shape大小关系的时候,根据入度数来区分是哪一种拓扑结构,采用不同的算法来计算节点数据量大小,从而确定shape大小关系。在标记拓扑结构的过程中,将拓扑结构看做是一种有向无环图,依据拓扑结构中三个op节点之间的依赖关系来区分,用数组来存放每个节点的入度数,其中这里的入度数仅考虑三个op之间的连接关系,不考虑输入数据、参数数据等。比如:在单输入单输出的拓扑结构中,若1号节点的入度数为0,2号节点、3号节点的入度数就为1。
92.步骤s112,基于所述神经网络计算基本单元算子,确定初始节点数据量大小;
93.根据得到的参数数据大小,确定初始的节点数据量大小,是根据公式n=(w-f 2p)/s 1,来计算得到初始节点数据量大小的,在随机产生参数数据大小时,高度和宽度要求是2的16次方以内,也就是128以内,因为数据越大,运行的速度越慢,管道c要求是64的倍数,比如:在单输入单输出的拓扑结构中,输入1号节点的参数数据大小:h=4,w=5,c=6,输入的参数数据大小是指输入数据的尺寸,也就是输入数据的宽w、高h、管道c,得到1号节点的节点数据量大小,同时也是2号节点的输入数据,根据参数数据量大小,也就是根据第一个op算子随机产生的输入h、w、c三者相乘得到输入数据。
94.可选地,步骤s112包括:
95.基于所述神经网络计算基本单元算子,获取对应的参数数据量大小;
96.基于所述参数数据量大小,获取对应的尺寸大小、卷积核大小、填充值大小和步长大小,计算初始节点量大小。
97.在本实施例中,在随机选取得到op算子之后,根据选定的op算子来随机产生参数数据量大小,其中参数数据量大小包括尺寸大小、卷积核大小、填充值大小和步长大小,尺寸大小是由h(高度)、w(宽度)、c(管道)相乘得到的,根据公式(w-f 2p)/s 1来计算出初始的节点量大小。
98.步骤s113,基于所述入度数数组和所述初始节点数据量大小,确定神经网络计算基本单元之间的连接关系。
99.在确定shape大小关系中,依据拓扑关系的入度数数组,来计算数据规模,这里的数据规模也就是节点数据量大小,即首先确定随机生成1号节点的数据,并计算出其输出数据大小,然后再根据不同的拓扑结构,采用不同的计算方式获得2号节点的输入数据,进而得到3号节点的输入数据,其中在计算2号节点的输入数据时,若拓扑结构是双输入单输出,2号节点的输入数据需要由1号节点的输出数据进行反向计算得到。比如:在单输入单输出拓扑结构中,算子是池化算子,1号节点的输入数据为h=4,w=5,c=6,采用池化的算法,得到1号节点的输出数据,也就是1号节点的数据量大小,得到的数据量大小有三个:oh(输出高度)、ow(输出宽度)、oc(输出管道),这三这个数据同时也是2号节点的输入数据,以此计算下去,得到shape关系,这里shape关系就是指每个op算子节点之间的连接关系。
100.其中记录拓扑关系的入度数,首先将拓扑关系看做是一种有向无环图,依据拓扑关系中op节点之间的依赖关系,并用数组的方式记录每个节点的入度数,这里仅考虑op之间连接关系,比如:在单输入单输出结构中,1号节点的入度数为0,2号节点、3号节点的入度数为1。
101.步骤s120,基于所述连接关系、拓扑结构和数据类型,生成算法图结构。
102.在本实施例中,选定的数据结构和拓扑结构,来初始化graphparameters结构体(graphparameters,图形参数)的索引,也就是正在处理的第几个op、输入标志,输出标志,其中的数据结构有两种:fp(32位浮点型数据)和q8(8位无符号整型),拓扑结构有三种:单输入单输出、双输入单输出和单输入双输出,初始化graphparameters结构体是因为graphparameters结构体中会有各种各样的信息,进行初始化为了保证在计算构图数据的时候,存储在graphparameters结构体中的数据是没有其他数据混在里面的。
103.初始化完成graphparameters结构体之后,把连接关系和graphparameters结构体结合起来生成algo图结构,需要使用graphparameters结构体是由于op之间图层数目不一致、拓扑结构中的图层之间依次递增关系、下一个op节点的输入需要使用上一个op节点的输出等缘故,所以需要使用graphparameters结构体记录计算过程中的每个图层信息、中间图层输出信息等,所以不管是哪一种拓扑结构,每个图层信息会记录所有处理过的图层索引,当切换op时,下一个op的图层会在每个图层信息基础上累加,每个图层信息仍然会继续记录图层,而中间图层输出信息会记录每一个op的输出。
104.本实施例是通过随机获取拓扑结构和数据类型以及op算子,根据选定的op算子来确定每个op之间的连接关系,把确定后下来的op之间的连接关系和数据类型输入到选定的拓扑结构中并以此来生成algo图结构,选定拓扑结构并往其输入数据并生成图结构,实现拓扑结构的通用型,不需要人为去构建拓扑结构,省时省力。
105.进一步地,参考图6,基于上述第一实施例、第二实施例和第三实施例,提出本技术基于随机网络拓扑的硬件运行验证方法第四实例。
106.本技术基于随机网络拓扑的硬件运行验证方法第四实施例与第一实施例、第二实施例和第三实施例的区别在于,步骤s300包括:
107.步骤s310,编译所述模拟算法图结构得到对应的机器语言;
108.在本实施例中,对已经构建好的sim图结构进行编译运行,所谓的编译运行就是把高级语言或者是程序语言转换成及其所能够识别的语言,也就是机器语言的一个过程。
109.步骤s320,基于所述机器语言,采用进制转换法得到模拟运行结果;
110.在本实施例中,转换成机器语言之后,机器语言是由0和1构成的,变成机器语言之后,也就是二进制,再通过进制转换变成十进制变成对应的运行结果,得到sim运行结果和algo数据进行对比,若是sim运行结果和algo数据两个结果相减,作差得到的结果小于16,就能保证sim是正确的,并得到sim运行结果。
111.可选地,步骤s300之后包括:
112.比对所述模拟运行结果和算法数据,获得所述模拟运行结果和算法数据的差值;
113.在所述差值小于或等于预设阈值时,执行所述比对所述模拟运行结果和所述硬件基于所述目标输入数据的实际运行结果,以验证所述硬件的运行结果。
114.在本实施例中,得到sim运行结果和algo数据之后,两个数据进行作差比对,若是结果小于预设值,就能够得到保证sim是没有问题的,在保证sim没有问题的情况下,并且在承购构建sim图结构之后,对sim图结构进行序列化和反序列化之后得到一个由sim图结构得到的test.model文件,把得到的这个文件在systemc硬件上面运行,其中systemc是指c语言系统,是一种硬件运行程序,得到模拟硬件的运行结果,比对sim运行结果和模拟硬件的运行结果,若是二者作差的结果等于0,也就是二者运行结果一致,就能够验证硬件运行结果是正确的,若是不一致,就说明硬件运行结果是不一致的。
115.在本实施例中,输出结果是由两个部分组成的,单个网络拓扑结构输出结果和多次随机网络拓扑结果输出汇总。首先检测配置文件中配置是否正确,确保数据下载开启,数据加载关闭(保证随机网络功能正常,数据可保存),如不正确脚本自动修改为正确配置。启动随机网络进程,实时检测进程存在与否,不存在说明此次随机网络处理完毕,从单个网络拓扑结构输出结果文件中采集相关信息并输出到汇总文件,检测不到输出文件则说明程序异常退出,记录异常信息,循环执行上述步骤直到指定次数执行完毕。
116.在本实施例中,通过algo数据和sim运行结果保证sim没有问题的情况下,再去比对sim运行结果和模拟硬件的比对结果,得到硬件运行结果最终的验证结果,首先确定sim运行结果没有错误,然后再比对模拟硬件运行结果,保证在对比硬件运行结果的正确率。
117.此外,本发明实施例还提出一种计算机可读存储介质。所述计算机可读存储介质上存储有随机网络拓扑验证程序,所述随机网络拓扑验证程序被处理器执行时实现如上述任一项实施例中的随机网络拓扑验证方法的步骤。
118.本发明计算机可读存储介质具体实施方式与上述随机网络拓扑验证方法各实施例基本相同,在此不再赘述。
119.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
120.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
121.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
122.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
123.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
124.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
125.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献