当前位置: X-MOL 学术Int. J. Parallel. Program › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
High-Level Parallel Ant Colony Optimization with Algorithmic Skeletons
International Journal of Parallel Programming ( IF 1.5 ) Pub Date : 2021-04-29 , DOI: 10.1007/s10766-021-00714-1
Breno A. de Melo Menezes , Nina Herrmann , Herbert Kuchen , Fernando Buarque de Lima Neto

Parallel implementations of swarm intelligence algorithms such as the ant colony optimization (ACO) have been widely used to shorten the execution time when solving complex optimization problems. When aiming for a GPU environment, developing efficient parallel versions of such algorithms using CUDA can be a difficult and error-prone task even for experienced programmers. To overcome this issue, the parallel programming model of Algorithmic Skeletons simplifies parallel programs by abstracting from low-level features. This is realized by defining common programming patterns (e.g. map, fold and zip) that later on will be converted to efficient parallel code. In this paper, we show how algorithmic skeletons formulated in the domain specific language Musket can cope with the development of a parallel implementation of ACO and how that compares to a low-level implementation. Our experimental results show that Musket suits the development of ACO. Besides making it easier for the programmer to deal with the parallelization aspects, Musket generates high performance code with similar execution times when compared to low-level implementations.



中文翻译:

具有算法骨架的高级并行蚁群优化

诸如蚁群优化(ACO)之类的群体智能算法的并行实现已广泛用于缩短解决复杂的优化问题时的执行时间。当针对GPU环境时,即使对于有经验的程序员来说,使用CUDA开发此类算法的高效并行版本也是一项困难且容易出错的任务。为了克服这个问题,Algorithmic Skeletons的并行编程模型通过从低级功能中进行抽象来简化并行程序。这是通过定义常见的编程模式(例如,地图,折叠和邮编)来实现的,该模式随后将转换为高效的并行代码。在本文中,我们展示了如何使用领域特定语言Musket制定算法框架可以应付ACO并行实施的开发以及与低级实施相比的情况。我们的实验结果表明,Musket适合ACO的发展。与低级实现相比,Musket除了使程序员更易于处理并行化方面之外,还生成了具有相似执行时间的高性能代码。

更新日期:2021-04-29
down
wechat
bug