论文部分内容阅读
布局问题是一个经典的组合优化问题,其实用性和计算上的NP-难度带来的巨大挑战吸引了来自工程、数学、计算机科学等领域的无数学者对其进行广泛的研究。目前通行的布局求解算法大多还在采用串行计算方法,对并行计算尤其是低成本并行机算开发不足,较为严重地影响了算法的运行效率和求解质量。因此,为了从根本上提高布局问题的求解效率,本文采用基于GPU结构的CUDA技术设计并行算法。
CUDA的性能好,兼容性强,在生产力上整合了CPU和GPU,可以在从大型的计算设备到个人消费级产品的任何层次的系统中运行,开发成本比较低。由此,本文针对两类典型的布局问题——二维无约束布局问题和二维条带布局问题展开CUDA并行算法研究,取得了满意的结果。
本文主要工作包括:
一、综述了布局问题的研究现状,分析了目前的并行研究成果,并对基于CUDA的并行技术进行了总结,归纳了基于CUDA的布局求解并行原则。
二、针对二维无约束问题进行了精确算法的CUDA并行设计,获得最大近10倍增速。分析了动念规划精确算法求解步骤,根据其特点设计了CUDA并行策略,采用CUDA编程实现了算法的并行改进。经过对串并行数值试验的数据对比,发现改进后的运算速度最大提高近10倍,小规模算例增速在5~6倍之间。
三、针对二维条带布局问题的元启发算法进行了CUDA并行设计,获得大于7倍的增速。对原串行算法设计了新的扰动准则,总结了以往的并行策略,并根据算法特点设计了CUDA并行策略,采用CUDA编程实现算法的并行改进。经过对串并行数值试验的数据对比,发现对于相同算例,改进后的算法速度提高了7.3倍,验证了改进算法的可行性。
基于以上研究工作,本文采用的CUDA并行技术应用在切割与布局问题求解中,可以切实提高算法的求解效率,增加工程效益。在CUDA并行技术的实现过程中需要注意线程模块的划分、数据传输及内存分配的问题。本文的后续工作可以展开在其他复合算法中应用CUDA并行或者将一些改进思想引入到算法的CUDA并行改进中。