鲸鱼优化算法(WOA),称为小说自然群优化算法,说明优势在处理全球连续优化问题。然而,它的性能恶化,当应用于大规模复杂问题由于迅速增加巨大的计算任务所需的执行时间。基于交互在人口,WOA自然是适合并行性,促使一种有效的方法来减轻顺序WOA的缺点。在这篇文章中,现场可编程门阵列(FPGA)作为一个加速器,的高级综合利用开放计算语言(OpenCL)作为异构soc的通用编程范式。平台之上,小说并行框架WOA名叫PWOA。拟议的框架包括两个可行的并行模型称为部分平行和all-FPGA平行,分别。实验是由CPU上执行WOA和PWOA OpenCL-based FPGA异构平台,解决十个著名的基准函数。与此同时,其他两种经典算法包括粒子群优化(PSO)和竞争群优化器(方案)是采用比较。数值结果表明,该方法实现了一个有前途的计算性能加上高效优化相对大规模复杂问题。
一个bstract>群优化或进化算法演示了他们的广泛的科学意义和实际问题
然而,大规模、多约束和复杂的场景通常出现在实际工程优化问题,如作业车间调度、混合单位承诺问题,自动路径规划。此外,高需求的反应速度和实时性能时需要满足上面解决问题。在这种情况下,大多数优化算法包括WOA可能会困在执行困境。随着问题的规模和复杂性的增加,WOA的执行时间将迅速增加,从而导致时间性能恶化[
异构计算指的是使用专用的硬件设备和不同的体系结构来执行耗时的任务,平衡CPU的计算负载。GPU是经典的并行计算设备,广泛应用于图形可视化、图像/视频处理、科学计算、深度学习等等。然而,增加部署的GPU,能源消耗和散热系统扩展已经成为严重的局限性,以及给人类社会带来沉重的环境压力(
本研究提出了高性能并行WOA (PWOA),在FPGA实现有效地解决大规模复杂优化问题。更具体地说,并给出了本文的主要贡献如下:
一种新型异构并行框架基于FPGA OpenCL-based WOA的加速器。
两个有效的模型包括部分并行模型和all-FPGA并行模型,设计程序流和数据流分析。
群优化算法包括WOA遇到挑战,优化性能降低由于广泛的计算成本时解决高维问题和复杂的数学模型。为了克服这些挑战,研究人员在各种平台上并行蜂群算法设计与实现。近年来,分布式和并行粒子群优化(PSO)已经实现了。一些研究[
它可以得出结论,有几个典型的类型的并行技术包括OpenMP, MapReduce,火花,和异构体系结构基于专用加速器,GPU和FPGA等。GPU成为流行的通用并行计算的发展中通过GPU并行群体智能算法已经成功地获得了显著的性能改进(
很少有研究调查在群优化算法的FPGA实现,尤其是WOA。我们之前的工作(
WOA算法构成两个主要阶段,开发和探索,通过模拟环绕萎缩,bubble-net攻击,寻找猎物。下面的内容将详细解释每个阶段的数学模型。
第一座头鲸捕杀猎物,识别猎物的位置和包围他们。收缩包围的数学模型由以下方程:
在开发阶段使用另一种方法是螺旋更新位置,在配合上述收缩包围了座头鲸的bubble-net攻击策略。数学方程如下:
除了开发阶段,随机搜索技术也采取了提高勘探WOA。与剥削,一个随机的鲸鱼<我nl我ne-formula>
算法
生成初始种群<我nl我ne-formula>
OpenCL,由Khronos组织是一个开放标准的通用并行计算(
FPGA是一个可配置的集成电路,可以反复重新配置来执行大量的逻辑功能。它通常包括可编程核心逻辑,层次可重构互联,I / O元素,内存块,和需求方。与这些实质性的逻辑资源,FPGA实现增加编程的灵活性相比,专用集成电路(asic)。然而,传统的开发流程在FPGA严重依赖于寄存器传输级(RTL)描述如Verilog和高速集成电路硬件描述语言(VHDL),所开发和验证成本高。为了解决这个问题,英特尔和Xilinx FPGA供应商如发布OpenCL-based开发流程,简化了软件开发人员设计FPGA的应用程序,使这一过程更有效率。
OpenCL的英特尔FPGA SDK (
OpenCL-based FPGA逻辑框架见图
)内核管道:整个框架的核心模块,它是一个实现特定的功能。AOC内核代码编译通过离线优化编译器和将被合成到高度并行逻辑电路FPGA的内部结构。
)处理器:主机处理器通常CPU,用于控制程序运行在FPGA器件。
)DDR:片外存储器,包括全球和常量内存OpenCL内存模型。英特尔气旋V上下文中使用FPGA器件有一个容量为1 GB的DDR3。默认情况下,不断的缓存大小是16 KB和可以修改按照实际需求。
)PCI-e:高速数据交换接口,负责运送主机和设备之间的数据和指令。
FPGA的片上内存:内存设备,相当于本地和私有内存OpenCL内存模型。小容量但高速,它主要用于存储输入和输出临时数据,减少全局内存的访问。因此,我们可以利用片上内存来提高OpenCL程序的效率。
本地内存互连:执行单元和内存之间的桥梁。
)外部存储器控制器层和物理层:控制器负责通过DDR控制数据的发送和接收。
与CPU和FPGA异构平台的体系结构。
与上面的描述和定义,WOA的框架可以概括为左边的流程图如图所示
WOA算法的框架。
本节将提出基于FPGA并行WOA异构计算平台。以达到有效的加速度,WOA的一些计算密集型任务需要转移到FPGA的并行执行而CPU执行剩下的任务。并行模型可分为局部平行all-FPGA并行,将不同的任务分配给CPU和FPGA。下面是PWOA实现中,在两个方面:描述程序流程设计和数据流分析。
初始化主要是准备WOA的基本数据需要在整个阶段,包括生成随机数和初始种群。这个过程是在WOA的开始阶段,只执行一次。除此之外,C / c++为随机数生成应用专用的图书馆OpenCL不支持本地随机数生成器。在这篇文章中,一个通用的方法,将计算任务的初始化在CPU,采用进这两个提议并行模型,以充分利用计算从CPU马力。
随机数生成WOA是一个至关重要的组件。一方面,鲸鱼的初始种群是由一个随机位置。需要确保是随机位置的值必须是决策变量的范围内根据特定的目标函数。另一方面,有一些随机数作为系数(<我nl我ne-formula>
部分并行模型执行几个并行算法部分涉及所谓的master-slaves模型。部分并行模型PWOA (PWOA-PPM)给出了FPGA在图
框架的部分并行模型PWOA (PWOA-PPM)。
<我t一个l我c>
内核程序流我t一个l我c>。FPGA器件用于部署内核程序和加速它。主机可以卸载计算密集型任务到FPGA的并行计算。基于OpenCL的编程模型,并行算法的部分被映射到内核函数执行线程独立(或工作项目)(
在提出的实现中,主机之间的数据流和内核主要取决于全局内存带宽。在主人身边,内存缓冲区的创建和使用的数据映射到这些缓冲区,这将进一步通过PCI-e发送到全局内存的内核。在内核中,每个线程是一个基本的处理元素,从全局内存读取数据并完成核函数。如图
数据流之间的PWOA-PPM主机和内核。
在all-FPGA并行模型,大多数WOA的组成部分,除了初始化,移植到FPGA。All-FPGA并行模型PWOA (PWOA-AFPM)设计如图
一个ll-FPGA并行框架基于模型PWOA (PWOA-AFPM)。
<我t一个l我c>
内核程序流我t一个l我c>。在这个模型中,内核程序运行在FPGA变得比以前更复杂的模型。除了接收数据和写作结果返回给全局内存,进化框架,其中包含群更新健身计算和群体评价,是由内核。同样,细粒度模型也适用于使多个线程并行执行内核函数。然而,关心应采取在评估群因为所有线程共享一个全局最优解。确保算法的准确性,我们定义内存线程对内存一致性栅栏(
在这个模型中,主机和内核之间的数据流包括全局内存和芯片级内存(本地内存),呈现在图
数据流之间的PWOA-AFPM主机和内核。
实验平台包含两个主要的硬件设备:CPU和FPGA。CPU平台,英特尔酷睿i5 - 8250 CPU和16 GB的RAM,而FPGA平台,英特尔FPGA气旋VGT与使用1 GB DDR3 SDRAM和64 MB。整个开发环境是基于Ubuntu 14.04 LTS和英特尔FPGA OpenCL 17.1版本的SDK。
摘要十一般基准函数(
基准测试函数。
关于规范中的其他参数WOA算法,系数<我nl我ne-formula>
通过使用三个woa与不同的方案和两种最先进的算法来优化10基准函数,可获得实验数据表中列出
比较该算法和最先进的算法(64 d)。
比较该算法和最先进的算法(128 d)。
比较该算法和最先进的算法(256 d)。
比较该算法和最先进的算法(512 d)。
基于以上表中给出的数值,它可以注意到,WOA和PWOAs由两个平行模型(PWOA-PPM和PWOA-AFPM)目前解决问题的效力高于方案和算法优化所有基准测试函数和几个维度。至于意味着结果的所有10个测试用例,WOA和拟议中的PWOAs获得更准确的值,与其他两种算法。当优化<我nl我ne-formula>
关于运行时间,两个角度的函数类型和规模设置。从功能的角度类型,因为多峰函数(<我nl我ne-formula>
简而言之,该PWOA-PPM PWOA-AFPM执行比WOA更稳定,这受益于FPGA的硬件加速性能由于内置专用算术单元和模块化设计的管道。
在本节中,加速计算基于运行时间不同的尺度问题,给出如下:
加速由PWOAs解决各种基准函数图所示
加速PWOA-PPM和PWOA-AFPM w.r。t基准函数。
四条图,图中所示
加速PWOA-PPM和PWOA-AFPM之间的比较。
从上面可以看出实验分析,与两个模型PWOAs不符影响加速度,这主要是由于不同的框架指导PWOA-PPM和PWOA-AFPM FPGA的实现异构平台。PWOA-PPM,利用部分并行模型和一定数量的额外的开销,CPU和FPGA之间频繁的交流成为一个瓶颈导致性能下降的小规模。不像PWOA-PPM PWOA-AFPM转移最WOA FPGA一边工作执行。此外,同步操作使用内存栅栏需要更多的硬件实现和内核性能可能会降低在FPGA身边
展示优秀的全局优化,WOA引起显著的研究兴趣在过去的几年里。不可避免的现实是,性能下降需要地方WOA当面对大规模复杂优化问题。存在许多建议来解决这个问题,其中大部分,然而,基于经典算法如遗传算法和粒子群优化,而很少有文献研究并行WOA可以找到。基于FPGA的加速器,本研究提出两个精心设计的并行模型来实现并行PWOA使用OpenCL框架与英特尔异构平台上演示。最后,两个并行模型的表现基于PWOA (PWOA-PPM和PWOA-AFPM)已使用10基准函数评估。
对于未来的工作,它是必不可少的将该算法应用于实际工程问题来验证实际的好处。除此之外,更多的不同类型的设备,如GPU和DSP需要调查,建立一个正如异构平台。这个平台将是一个有效的合作运行环境中高昂计算任务可以分解成几个部分,然后分配给不同的设备。因此,该并行方案具有潜在的实际应用。
使用的数据来支持本研究的结果包括在本文中。
作者宣称没有利益冲突有关的出版。
这项研究工作得到了国家重点研发项目批准号2018 yfb1700500,国家科学基金会中国批准号。52077213,62003332,61702493,广东省自然科学基金(没有。2018 a030310671),优秀青年创新基金深圳先进技术研究院研究员,中国科学院(没有。201822)。
一个ck>