当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于GPU的自适应领域禁忌搜索求解软硬件划分方法技术

技术编号:13505266 阅读:93 留言:0更新日期:2016-08-10 12:06
本发明专利技术公开了一种基于GPU的自适应领域禁忌搜索求解软硬件划分方法,首先将软硬件划分领域中常用的禁忌搜索算法进行改造,使其计算过程与GPU的体系结构特征相匹配,从而为将算法移植至GPU进行准备。其次,为进一步提高算法的性能,本发明专利技术不仅给出了算法在GPU上的整体框架,而且还对算法在GPU上的具体执行做了优化。对比实验表明,本发明专利技术在求解质量和计算速度上都要优于已知工作。

【技术实现步骤摘要】

本专利技术涉及软硬件协同设计
,涉及一种软硬件划分方法,特别是涉及一种基于GPU的自适应领域禁忌搜索求解软硬件划分方法
技术介绍
现代嵌入式系统通常由硬件和软件组成。硬件主要指是面向特定应用的处理器,具有执行速度快、功耗低等特点,但是成本较高;而软件执行速度慢,功耗高但是成本低。通常将运行在目标嵌入式系统上的各计算任务表示成资源需求不一的节点,软硬件划分的目的是在满足特定约束下,将各计算任务合理地映射到软件或硬件上,使得整个系统的性能最优化。软硬件划分是软硬件协同设计中的关键步骤。软硬件划分是个NP完全问题。目前,求解软硬件划分问题的常用算法主要分为两类,即精确求解算法和近似求解算法。精确求解算法主要用来处理小规模的软硬件划分问题。当问题规模增大时,解的规模呈指数级增长,精确求解算法变得不可行,转而使用启发式方法求解。求解软硬件划分问题的启发式方法分为专用启发式方法和通用启发式方法。专用启发式方法分为硬件约束优先方法或软件约束优先方法。通用启发式方法主要指各类智能搜索算法,如遗传算法、蚁群算法、粒子群优化方法、模拟退火方法、人工免疫算法、禁忌搜索方法等以及这些方法的结合。这些智能优化算法具有以下特点:属于轨迹类或者种群类算法,主要通过多次迭代来逼近求解目标;另外,在每次迭代时初始化一定数量的候选解,通过对候选解的选择决定下次迭代的质量好坏。然而,当候选解数量过多时,会造成算法在运行时间上的增加。当问题规模很大时,时间上的开销尤为明显。这类算法的执行过程本身具有内在并行的特点。因此,很自然地对这些算法进行并行化以加速问题的求解。但是,关于并行智能优化算法求解软硬件划分问题的工作很少,已知的公开发表的相关工作仅包括并行遗传算法和并行混合粒子群优化算法来求解软硬件划分问题。所用平台为多台个人PC组成的小规模集群。近年来,有很多的工作描述GPU加速的智能优化算法求解组合优化问题。受这些文献的启发,本专利技术首次探索了在软硬件划分领域使用GPU来加速禁忌 搜索求解划分的过程。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足之处,提供一种基于GPU的自适应领域禁忌搜索求解软硬件划分方法。本专利技术所采用的技术方案是:一种基于GPU的自适应领域禁忌搜索求解软硬件划分方法,其特征在于,包括以下步骤:步骤1:在主机端,获取软硬件划分的初始解以及相关信息;将初始解分别设置为当前解和全局最优解;步骤2:在主机端将软硬件划分的任务图的数据表达方式进行转换;步骤3:设置参数;初始化主机端所需的存储空间;初始化GPU端所需的存储空间;步骤4:在主机端,将数据传输至GPU端,启动GPU端内核;步骤5:在设备端,通过内核计算出最优候选邻域并将结果传回主机端;步骤6:在主机端,更新禁忌表以及禁忌标示符;步骤7:在主机端,更新当前解以及全局最优解;步骤8:在主机端,判断是否满足停止准则;若否,则返回步骤4;若是,则结束流程。作为优选,步骤1中所述初始解是指通过启发式方法或随机方法求得的待划分任务图的硬件耗费;所述相关信息主要包括解向量、解向量的映射向量和初始解的软件耗费以及通信耗费;所述解向量是和硬件耗费对应的由0或者1组成的数组;所述解向量的映射向量是由0或者1组成的数组;主要保存任务图各节点被排序前的状态,用于后续的通信耗费的计算。作为优选,步骤2中所述任务图的数据表达方式进行转换是指将任务图传输给GPU前,需要将邻接表的表示方式转换为适合在GPU端进行运算的压缩的稀疏行格式(Compressed Sparse Row:CSR)的表达方式。作为优选,步骤3中所述参数主要包括最大迭代周期数、连续未改进周期数、禁忌表的长度、邻域的规模、候选邻域解集合中被选为当前解的邻域索引标识符、以及启动GPU内核所需的线程块大小以及线程块的个数;所述主机端所需的存储空间包括禁忌表的存储空间,各个邻域候选解的禁忌状态的存储空间,保存当前解生成的全部2翻转邻域候选解的索引、软件耗费、硬件耗费、通信耗费的存储空间,最佳候选邻域的编号,软件耗费、硬件耗费、通信耗费的存储空间;所述GPU端所需的存储空间包括当前解向量和当前解的映射向量的存储空间,各个邻域候选解的禁忌状态的存储空间,各个邻域候选解是否满足约束的状态标识符数组,任务图的压缩的稀疏行格式的存储空间,当前解生成的全部2翻转邻域候选解的索引、软件耗费、硬件耗费、通信耗费的存储空间,保存满足约束的可行邻域候选解的存储空间,最佳候选邻域的编号、软件耗费、硬件耗费、通信耗费的存储空间。作为优选,步骤4中所述将数据传输至GPU端,传输的数据包括当前解的解向量、当前解向量的映射、当前解的软件耗费、硬件耗费和通信耗费、全局最优解的硬件耗费、软硬件划分的任务图、禁忌表;所述GPU端内核主要包括对2翻转邻域解的耗费计算内核、对满足约束的可行邻域解的进行挑选内核,以及对可行的邻域解进行禁忌评价的内核。作为优选,步骤5中所述计算出最优候选邻域的过程包括以下子步骤:步骤5.1:在GPU端,每个2翻转邻域为一个候选解;GPU并行地对每个候选解计算软件耗费、硬件耗费和通信耗费;计算完成后,根据软件耗费与通信耗费之和是否满足约束评价,将0或者1写入状态标识符数组的对应位置中;其中,0表示不满足约束;1表示满足约束;同时将邻域的标示符、软件耗费、硬件耗费和通信耗费写入GPU端申请的存储空间中;步骤5.2:在GPU端,根据邻域状态标识符数组,通过并行Compaction算法,将状态标示符数组中标号为1的邻域存入GPU端满足约束的可行邻域候选解的存储空间中;步骤5.3:在GPU端,通过禁忌表,并行地判断每个可行解是否在禁忌表里,若可行解不在禁忌表中并且在所有2翻转可行解中具有最小硬件耗费,则为最佳邻域候选解;如果可行邻域解在禁忌表中,但是其硬件耗费低于全局最优值,同样也被选择为最佳候选邻域。作为优选,步骤5中所述传回主机端的结果主要为最佳候选邻域的编号、软 件耗费、硬件耗费以及通信耗费。作为优选,步骤6中所述在主机端更新禁忌表的过程是基于循环队列的先进先出,禁忌对象是当前解在上次迭代中的邻域标示符;更新禁忌标示符时,出队列的索引标号为0,同时进队列的索引标号为1。作为优选,步骤7中所述更新当前解以及全局最优解,是用本次迭代选出的最佳邻域替代当前解,主要包括替换当前解的解向量、解向量的映射、硬件耗费、软件耗费、通信耗费、当前解的标示符;如果最佳邻域的耗费优于全局最佳硬件耗费,同样更新全局硬件耗费;当更新全局硬件耗费时,连续未改进周期数被清0。作为优选,步骤8中所述停止准则主要是指执行步骤4至步骤8的循环次数或者达到了最大次数或者连续未改进周期数后,停止运算。本专利技术与已有技术相比较,效果是积极且明显的:首先,本专利技术在算法的执行时间上要低于目前已知的工作;其次,在求解质量上,也要优于已知的工作。附图说明图1为本专利技术实施例的整体框架示意图;图2为本专利技术实施例的待划分任务图模型以及对应的压缩的稀疏行格式表达示意图;图3为本专利技术实施例的候选解生成规则示意图;图4为本专利技术实施例的compaction算法流程示意图。具体实施方式为了便于本领域普通技术人员理解和实施本专利技术,下面结合附图及实施例对本专利技术作进一步的详细描述,应当理解,此处所描本文档来自技高网
...

【技术保护点】
一种基于GPU的自适应领域禁忌搜索求解软硬件划分方法,其特征在于,包括以下步骤:步骤1:在主机端,获取软硬件划分的初始解以及相关信息;将初始解分别设置为当前解和全局最优解;步骤2:在主机端将软硬件划分的任务图的数据表达方式进行转换;步骤3:设置参数;初始化主机端所需的存储空间;初始化GPU端所需的存储空间;步骤4:在主机端,将数据传输至GPU端,启动GPU端内核;步骤5:在设备端,通过内核计算出最优候选邻域并将结果传回主机端;步骤6:在主机端,更新禁忌表以及禁忌标示符;步骤7:在主机端,更新当前解以及全局最优解;步骤8:在主机端,判断是否满足停止准则;若否,则返回至步骤4;若是,则结束流程。

【技术特征摘要】
1.一种基于GPU的自适应领域禁忌搜索求解软硬件划分方法,其特征在于,包括以下步骤:步骤1:在主机端,获取软硬件划分的初始解以及相关信息;将初始解分别设置为当前解和全局最优解;步骤2:在主机端将软硬件划分的任务图的数据表达方式进行转换;步骤3:设置参数;初始化主机端所需的存储空间;初始化GPU端所需的存储空间;步骤4:在主机端,将数据传输至GPU端,启动GPU端内核;步骤5:在设备端,通过内核计算出最优候选邻域并将结果传回主机端;步骤6:在主机端,更新禁忌表以及禁忌标示符;步骤7:在主机端,更新当前解以及全局最优解;步骤8:在主机端,判断是否满足停止准则;若否,则返回至步骤4;若是,则结束流程。2.根据权利要求1所述的基于GPU的自适应领域禁忌搜索求解软硬件划分方法,其特征在于:步骤1中所述初始解是指通过启发式方法或随机方法求得的待划分任务图的硬件耗费;所述相关信息主要包括解向量、解向量的映射向量和初始解的软件耗费以及通信耗费;所述解向量是和硬件耗费对应的由0或者1组成的数组;所述解向量的映射向量是由0或者1组成的数组;主要保存任务图各节点被排序前的状态,用于后续的通信耗费的计算。3.根据权利要求1所述的基于GPU的自适应领域禁忌搜索求解软硬件划分方法,其特征在于:步骤2中所述任务图的数据表达方式进行转换是指将任务图传输给GPU前,需要将邻接表的表示方式转换为适合在GPU端进行运算的压缩的稀疏行格式的表达方式。4.根据权利要求1所述的基于GPU的自适应领域禁忌搜索求解软硬件划分方法,其特征在于:步骤3中所述参数主要包括最大迭代周期数、连续未改进周期数、禁忌表的长度、邻域的规模、候选邻域解集合中被选为当前解的邻域索引标识符、以及启动GPU内核所需的线程块大小以及线程块的个数;所述主机端所需的存储空间包括禁忌表的存储空间,各个邻域候选解的禁忌状态的存储空间,保存当前解生成的全部2翻转邻域候选解的索引、软件耗费、硬件耗费、通信耗费的存储空间,最佳候选邻域的编号,软件耗费、硬件耗费、通信耗费的存储空间;所述GPU端所需的存储空间包括当前解向量和当前解的映射向量的存储空间,各个邻域候选解的禁忌状态的存储空间,各个邻域候选解是否满足约束的状态标识符数组,任务图的压缩的稀疏行格式的存储空间,当前解生成的全部2翻转邻域候选解的索引、软件耗费、硬件耗费、通信耗费的存储空间,保存满足约束的可行邻域候选解的存储空间,最佳候选邻域的编号、软件耗费、硬件耗费、通信耗费的存储空间。5.根据权利要求1所述的基于GPU的自适应领域禁忌搜索求解软硬件划分方法...

【专利技术属性】
技术研发人员:何发智侯能周毅
申请(专利权)人:武汉大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1