High-Level Parallel Ant Colony Optimization with Algorithmic Skeletons
Breno Augusto de Melo Menezes, Nina Herrmann, Herbert Kuchen, Fernando Buarque de Lima Neto · International Journal of Parallel Programming · 2021
Abstract 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 ofAlgorithmic Skeletonssimplifies 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 languageMusketcan cope with the development of a parallel implementation of ACO and how that compares to a low-level implementation. Our experimental results show thatMusketsuits the development of ACO. Besides making it easier for the programmer to deal with the parallelization aspects,Musketgenerates high performance code with similar execution times when compared to low-level implementations.