1.一种并行系统的验证方法,其特征在于,所述方法包括:
针对并行系统中并行运行的多个部分,分别采用参考模型的一个线程执行所述多个部分中的一部分,得到运行结果;
将所述运行结果和所述并行系统的仿真结果进行比较,以对所述并行系统进行验证;
其中,所述并行系统的仿真结果为所述并行系统并行运行所述多个部分的结果。
2.根据权利要求1所述的方法,其特征在于,所述并行系统支持多条并行执行的指令流水线;
针对并行系统中并行运行的多个部分,分别采用参考模型的一个线程执行所述多个部分中的一部分,包括:
对于多条流水线中的任一条流水线,采用一个线程运行该任一条流水线所运行的指令。
3.根据权利要求1所述的方法,其特征在于,所述并行系统包括多个运算部件,支持数据流并行,
针对并行系统中并行运行的多个部分,分别采用参考模型的一个线程执行所述多个部分中的一部分,包括:
根据运算部件的数目将输入数据拆分为多个部分;
采用一个线程调用一个运算部件处理相应部分的输入数据。
4.根据权利要求1所述的方法,其特征在于,所述并行系统包括多个核,支持任务级并行,
针对并行系统中并行运行的多个部分,分别采用参考模型的一个线程执行所述多个部分中的一部分,包括:
采用参考模型中的一个线程执行一个核所运行的指令序列。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
在任一线程运行到调试断点时,保存当前的执行进度到第一文件中;
在接收到启动请求时,启动所述第一文件以获取当前的执行进度,并根据当前的执行进度开始继续运行所述任一线程。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述方法还包括:
在任一线程运行到调试断点时,保存当前的执行进度,并通过子进程将调试信息传递给主进程;
通过主进程对调试信息进程处理;
在处理完所述调试信息后,通过主进程向子进程发送应答消息;
在子进程接收到主进程发送的应答消息时,控制子进程从所述执行进度开始继续运行所述任一线程。
7.根据权利要求1-6任意一项所述的方法,其特征在于,针对并行系统中并行运行的多个部分,分别采用参考模型的一个线程执行所述多个部分中的一部分,得到运行结果,包括:
如果任一线程执行到同步指令,控制所述任一线程抢所述同步指令对应的锁;
在所述任一线程抢到所述锁时,控制所述任一线程对所述同步指令对应的第一计数器执行加一操作后释放锁并等待;
在所述第一计数器的值到达第一临界值时,控制各所述同步指令所在的线程执行所述同步指令之后的指令;
若锁为被占用状态,则抢锁失败,该任一线程等待并继续抢所述同步指令对应的锁。
8.根据权利要求7所述的方法,其特征在于,当具有多组同步指令时,所述方法还包括:为每组同步指令分配相同的标识信息,且该组同步指令对应的锁、第一计数器以及第一临界值都具有与该组同步指令相同的标识信息。
9.根据权利要求1-8任意一项所述的方法,其特征在于,所述多个部分之间存在数据相关,所述方法还包括:
对于写后读和读后写相关,在存在数据相关的部分的写指令和读指令的之前或之后插入同步指令,保证指令按照与硬件相同的顺序被执行。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
对于写后写相关,保存多个部分的写指令的执行顺序;
将多个部分对应的运行结果保存在临时的存储空间;
按照所述执行顺序将所述临时的存储空间中的运行结果写入存储单元。
11.根据权利要求1-10任意一项所述的方法,其特征在于,所述并行系统包括多个核,所述方法还包括:
通过线程间通信或者文件消息传递模拟核间通信。
12.根据权利要求11所述的方法,其特征在于,通过文件消息传递模拟核间通信,包括:
控制第一线程抢第二文件的写锁,在第二文件中写入消息后释放第二文件的写锁;
控制第一线程向第二线程发送信号以使第二线程抢第二文件的读锁;
在第二线程抢到第二文件的读锁时,控制第二线程从写入消息的第二文件中读取所述消息。
13.根据权利要求11所述的方法,其特征在于,通过线程间通信模拟核间通信,包括:
用数组模拟共享存储,通过线程共同访问所述数组交换数据,模拟核间通过共享存储交换数据的过程。
14.一种并行系统的验证装置,其特征在于,所述装置包括:
模拟运行模块,用于针对并行系统中并行运行的多个部分,分别采用参考模型的一个线程执行所述多个部分中的一部分,得到运行结果;
验证模块,用于将所述运行结果和所述并行系统的仿真结果进行比较,以对所述并行系统进行验证;
其中,所述并行系统的仿真结果为所述并行系统并行运行所述多个部分的结果。
15.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行指令时实现权利要求1-13中任意一项所述的方法。
16.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至13中任意一项所述的方法。