A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs

Swarm intelligence algorithms (SIAs) have demonstrated excellent performance when solving optimization problems including many real-world problems. However, because of their expensive computational cost for some complex problems, SIAs need to be accelerated effectively for better performance. This p...

Full description

Bibliographic Details
Main Authors: Dalin Li, Lan Huang, Kangping Wang, Wei Pang, You Zhou, Rui Zhang
Format: Article
Language:English
Published: IEEE 2018-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8540814/
_version_ 1819170257275715584
author Dalin Li
Lan Huang
Kangping Wang
Wei Pang
You Zhou
Rui Zhang
author_facet Dalin Li
Lan Huang
Kangping Wang
Wei Pang
You Zhou
Rui Zhang
author_sort Dalin Li
collection DOAJ
description Swarm intelligence algorithms (SIAs) have demonstrated excellent performance when solving optimization problems including many real-world problems. However, because of their expensive computational cost for some complex problems, SIAs need to be accelerated effectively for better performance. This paper presents a high-performance general framework to accelerate SIAs (FASI). Different from the previous work which accelerates SIAs through enhancing the parallelization only, FASI considers both the memory architectures of hardware platforms and the dataflow of SIAs, and it reschedules the framework of SIAs as a converged dataflow to improve the memory access efficiency. FASI achieves higher acceleration ability by matching the algorithm framework to the hardware architectures. We also design deep optimized structures of the parallelization and convergence of FASI based on the characteristics of specific hardware platforms. We take the quantum behaved particle swarm optimization algorithm as a case to evaluate FASI. The results show that FASI improves the throughput of SIAs and provides better performance through optimizing the hardware implementations. In our experiments, FASI achieves a maximum of 290.7 Mb/s throughput which is higher than several existing systems, and FASI on FPGAs achieves a better speedup than that on GPUs and multi-core CPUs. FASI is up to 123 times and not less than 1.45 times faster in terms of optimization time on Xilinx Kintex Ultrascale xcku040 when compares to Intel Core i7-6700 CPU/NVIDIA GTX1080 GPU. Finally, we compare the differences of deploying FASI on hardware platforms and provide some guidelines for promoting the acceleration performance according to the hardware architectures.
first_indexed 2024-12-22T19:32:31Z
format Article
id doaj.art-72c91f81539546e99c49ee82456798cc
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-22T19:32:31Z
publishDate 2018-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-72c91f81539546e99c49ee82456798cc2022-12-21T18:15:04ZengIEEEIEEE Access2169-35362018-01-016723277234410.1109/ACCESS.2018.28824558540814A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUsDalin Li0https://orcid.org/0000-0002-3086-9087Lan Huang1Kangping Wang2Wei Pang3You Zhou4Rui Zhang5College of Computer Science and Technology, Jilin University, Changchun, ChinaCollege of Computer Science and Technology, Jilin University, Changchun, ChinaCollege of Computer Science and Technology, Jilin University, Changchun, ChinaDepartment of Computing Science, University of Aberdeen, Aberdeen, U.K.College of Computer Science and Technology, Jilin University, Changchun, ChinaCollege of Computer Science and Technology, Jilin University, Changchun, ChinaSwarm intelligence algorithms (SIAs) have demonstrated excellent performance when solving optimization problems including many real-world problems. However, because of their expensive computational cost for some complex problems, SIAs need to be accelerated effectively for better performance. This paper presents a high-performance general framework to accelerate SIAs (FASI). Different from the previous work which accelerates SIAs through enhancing the parallelization only, FASI considers both the memory architectures of hardware platforms and the dataflow of SIAs, and it reschedules the framework of SIAs as a converged dataflow to improve the memory access efficiency. FASI achieves higher acceleration ability by matching the algorithm framework to the hardware architectures. We also design deep optimized structures of the parallelization and convergence of FASI based on the characteristics of specific hardware platforms. We take the quantum behaved particle swarm optimization algorithm as a case to evaluate FASI. The results show that FASI improves the throughput of SIAs and provides better performance through optimizing the hardware implementations. In our experiments, FASI achieves a maximum of 290.7 Mb/s throughput which is higher than several existing systems, and FASI on FPGAs achieves a better speedup than that on GPUs and multi-core CPUs. FASI is up to 123 times and not less than 1.45 times faster in terms of optimization time on Xilinx Kintex Ultrascale xcku040 when compares to Intel Core i7-6700 CPU/NVIDIA GTX1080 GPU. Finally, we compare the differences of deploying FASI on hardware platforms and provide some guidelines for promoting the acceleration performance according to the hardware architectures.https://ieeexplore.ieee.org/document/8540814/Field programmable gate arraysmulticore processingparallel programmingparticle swarm optimizationpipeline processing
spellingShingle Dalin Li
Lan Huang
Kangping Wang
Wei Pang
You Zhou
Rui Zhang
A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs
IEEE Access
Field programmable gate arrays
multicore processing
parallel programming
particle swarm optimization
pipeline processing
title A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs
title_full A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs
title_fullStr A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs
title_full_unstemmed A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs
title_short A General Framework for Accelerating Swarm Intelligence Algorithms on FPGAs, GPUs and Multi-Core CPUs
title_sort general framework for accelerating swarm intelligence algorithms on fpgas gpus and multi core cpus
topic Field programmable gate arrays
multicore processing
parallel programming
particle swarm optimization
pipeline processing
url https://ieeexplore.ieee.org/document/8540814/
work_keys_str_mv AT dalinli ageneralframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT lanhuang ageneralframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT kangpingwang ageneralframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT weipang ageneralframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT youzhou ageneralframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT ruizhang ageneralframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT dalinli generalframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT lanhuang generalframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT kangpingwang generalframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT weipang generalframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT youzhou generalframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus
AT ruizhang generalframeworkforacceleratingswarmintelligencealgorithmsonfpgasgpusandmulticorecpus