"算法映射程序1.1:实现图到图的同构映射"

需积分: 0 0 下载量 89 浏览量 更新于2024-03-13 收藏 653KB DOCX 举报
映射算法通过实现算法图到架构图的映射,利用VF2子图同构完成算法图到架构图的同构映射,从多个映射结果中选出最优映射结果。算法图模型ALG=(V, E),其中V是节点集,表示算法中的操作;E是边集,表示操作之间的数据依赖关系。节点属性中的y属性标示了各个操作在并行上左右顺序,这个信息会被用到算法映射中的成本函数中用来找出没有功能交叉的映射。x属性对应纵向上的顺序,用来获取算子的次序信息。节点的操作属性用来完成映射时的功能匹配,在算法模型和架构模型中,操作属性都用字符串来描述,通过字串包含的方式来验证功能包含。架构图模型ARG=(V, E),其中V是节点集,表示架构中的PE;E是边集,表示架构中的数据互连。以PE1 的功能属性的字符串描述了第一类PE的19种功能,表中的au 表示算术功能,xor 表示逻辑功能,sh 表示移位功能,bn 表示置换功能,lut 表示S盒功能,gfm 表示有限域乘法功能,字符串组合表示功能。 在算法映射过程中,首先构建ALG和ARG的模型,对其各个节点属性进行描述。随后利用VF2子图同构算法,对ALG和ARG进行匹配操作。算法映射会根据不同的算法图和架构图,对其进行节点匹配和边匹配,找到匹配度最高的结果,并输出两个图之间的所有匹配。 首先,在执行算法映射之前,需要完成算法图和架构图的构建。算法图的节点集V表示算法中的操作,而边集E表示操作之间的数据依赖关系。每个节点的属性包括y属性和x属性,y属性表示操作在并行上的左右顺序,x属性表示纵向上的顺序,用来获取算子的次序信息。而架构图的节点集V表示PE(处理器元素),边集E表示架构中的数据互连。每个PE的功能属性的字符串描述了不同的功能,通过字符串组合表示PE的功能。 其次,利用VF2子图同构算法进行算法映射。该算法会进行节点和边的匹配,找到匹配度最高的结果输出。在节点匹配时,会验证功能的包含关系,通过字串包含的方式来验证功能包含。在边匹配时,需要满足数据依赖关系。通过VF2子图同构算法的实现,能够高效地找到算法图和架构图之间的匹配结果。 算法映射完成后,会输出两个图之间的所有匹配结果。通过匹配结果,可以得到最优的映射方案,将算法图映射到架构图上,完成算法在架构上的实现。同时,也可以根据匹配结果进行性能优化,找到最优的算法映射方案。 总的来说,映射算法通过对算法图和架构图进行匹配,找到最优的映射结果,完成算法在架构上的实现。算法映射的核心在于节点和边的匹配,通过VF2子图同构算法实现高效的匹配操作。通过算法映射可以得到算法在架构上的最优实现方案,提高算法的性能和效率。