GPU-based massively parallel implementation of metaheuristic algorithms
Date
Presentation Date
Editor
Authors
Other contributors
Other title
Implementacja metaheurystyk przeszukiwania w środowisku obliczeń masowo równoległych na kartach graficznych
Resource type
Version
Pagination/Pages:
Research Project
Description
Abstract
W artykule zostały przedstawione szczegóły implementacji kwantowo inspirowanego algorytmu genetycznego (QIGA) w środowisku obliczeń masowo równoległych na procesorach kart graficznych. W odróżnieniu od wielu dotychczasowych opracowań, prezentujących implementacje algorytmów ewolucyjnych w środowiskach obliczeń równoległych, w niniejszym artykule zostało zaproponowane nowatorskie podejście do implementacji algorytmu ewolucyjnego. Zrównoleglenie algorytmu zostało wykonane na dwóch poziomach: poszczególne osobniki w populacji lub poszczególne geny są przetwarzane przez osobne wątki w blokach, a w poszczególnych blokach przeprowadzany jest proces ewolucji populacji o tych samych lub różnych parametrach. Obliczenia zostały rozdzielone na osiem jednostek GPU, co pozwoliło na uzyskanie ponad 400-krotnego przyśpieszenia algorytmu w stosunku do sekwencyjnej implementacji w języku ANSI C na pojedynczym rdzeniu procesora Intel Core i7 2,93 GHz. Poprawność implementacji została zweryfikowana poprzez analizę statystyczną otrzymanych wyników. Zaproponowane podejście pozwala przyśpieszyć badanie dowolnych metaheurystyk przeszukiwania.
In this paper, implementation of Quantum-Inspired Genetic Algorithm(QIGA) in massively parallel environment (Graphics Processing Units) has been presented. Contrary to many recent papers concerning parallel implementation of evolutionary algorithms, in this paper a novel approach has been taken. QIGA algorithm has been implemented entirely as a computational kernel. Parallelization of the algorithm has been performed on two levels: In a block of threads, each thread transforms a separate individual or different gene. In each block, separate populations with same or different parameters are evolved. Finally, the computations have been distributed to eight GPU devices, and over 400x speedup has been gained in comparison to sequential implementation of the algorithm in ANSI C on one Intel Core i7 2.93 GHz CPU core. Correctness of the results has been verified in statistical analysis. The presented approach can be applied to experimentation with a broad class of metaheuristics.

