GPU-based Parallel Implementation of Swarm Intelligence Algorithms
By Ying Tan
()
About this ebook
GPU-based Parallel Implementation of Swarm Intelligence Algorithms combines and covers two emerging areas attracting increased attention and applications: graphics processing units (GPUs) for general-purpose computing (GPGPU) and swarm intelligence. This book not only presents GPGPU in adequate detail, but also includes guidance on the appropriate implementation of swarm intelligence algorithms on the GPU platform.
GPU-based implementations of several typical swarm intelligence algorithms such as PSO, FWA, GA, DE, and ACO are presented and having described the implementation details including parallel models, implementation considerations as well as performance metrics are discussed. Finally, several typical applications of GPU-based swarm intelligence algorithms are presented. This valuable reference book provides a unique perspective not possible by studying either GPGPU or swarm intelligence alone.
This book gives a complete and whole picture for interested readers and new comers who will find many implementation algorithms in the book suitable for immediate use in their projects. Additionally, some algorithms can also be used as a starting point for further research.
- Presents a concise but sufficient introduction to general-purpose GPU computing which can help the layman become familiar with this emerging computing technique
- Describes implementation details, such as parallel models and performance metrics, so readers can easily utilize the techniques to accelerate their algorithmic programs
- Appeals to readers from the domain of high performance computing (HPC) who will find the relatively young research domain of swarm intelligence very interesting
- Includes many real-world applications, which can be of great help in deciding whether or not swarm intelligence algorithms or GPGPU is appropriate for the task at hand
Ying Tan
Ying Tan is a professor and PhD advisor at the School of Electronics Engineering and Computer Science of Peking University, and director of Computational Intelligence Laboratory at Peking University (PKU). He received his BEng from the EEI, MSc from Xidian Univ., and PhD from Southeast Univ., in 1985, 1988, and 1997, respectively. From 1997, he was a postdoctoral fellow then an associate professor at University of Science and Technology of China (USTC), then served as director of Institute of Intelligent Information Science and a full professor since 2000. He worked with the Chinese University of Hong Kong (CUHK) in 1999 and 2004-2005. He was elected for the 100 talent program of the Chinese Academy of Science (CAS) in 2005
Related to GPU-based Parallel Implementation of Swarm Intelligence Algorithms
Related ebooks
Heterogeneous System Architecture: A New Compute Platform Infrastructure Rating: 0 out of 5 stars0 ratingsHigh Performance Parallelism Pearls Volume One: Multicore and Many-core Programming Approaches Rating: 0 out of 5 stars0 ratingsCUDA Application Design and Development Rating: 0 out of 5 stars0 ratingsCUDA Programming: A Developer's Guide to Parallel Computing with GPUs Rating: 4 out of 5 stars4/5Heterogeneous Computing with OpenCL Rating: 1 out of 5 stars1/5Parallel and High Performance Computing Rating: 0 out of 5 stars0 ratingsProblem-solving in High Performance Computing: A Situational Awareness Approach with Linux Rating: 0 out of 5 stars0 ratingsPython Parallel Programming Cookbook Rating: 5 out of 5 stars5/5Multicore Software Development Techniques: Applications, Tips, and Tricks Rating: 3 out of 5 stars3/5Real-Time Critical Systems Rating: 3 out of 5 stars3/5Human-Machine Shared Contexts Rating: 0 out of 5 stars0 ratingsMachine Learning Systems: Designs that scale Rating: 0 out of 5 stars0 ratingsSystem on Chip Interfaces for Low Power Design Rating: 0 out of 5 stars0 ratingsDeep Learning and Parallel Computing Environment for Bioengineering Systems Rating: 0 out of 5 stars0 ratingsHeterogeneous Computing with OpenCL 2.0 Rating: 0 out of 5 stars0 ratingsOpenCL Programming by Example Rating: 0 out of 5 stars0 ratingsOpenGL Data Visualization Cookbook Rating: 0 out of 5 stars0 ratingsAdvances in GPU Research and Practice Rating: 0 out of 5 stars0 ratingsHigh Performance Parallelism Pearls Volume Two: Multicore and Many-core Programming Approaches Rating: 0 out of 5 stars0 ratingsAdvanced Graphics Programming Using OpenGL Rating: 2 out of 5 stars2/5Parallel Processing for Artificial Intelligence 1 Rating: 5 out of 5 stars5/5Python Multimedia Beginner's Guide Rating: 0 out of 5 stars0 ratingsIntroduction to Parallel Programming Rating: 0 out of 5 stars0 ratingsOpenCL in Action: How to accelerate graphics and computations Rating: 0 out of 5 stars0 ratingsIntel Xeon Phi Processor High Performance Programming: Knights Landing Edition Rating: 0 out of 5 stars0 ratingsExpert Python Programming - Second Edition Rating: 2 out of 5 stars2/5Direct3D Rendering Cookbook Rating: 0 out of 5 stars0 ratingsScientific Computing with Scala Rating: 0 out of 5 stars0 ratingsStructured Parallel Programming: Patterns for Efficient Computation Rating: 1 out of 5 stars1/5Computer Vision for the Web Rating: 0 out of 5 stars0 ratings
Programming For You
Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Python Programming : How to Code Python Fast In Just 24 Hours With 7 Simple Steps Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5HTML & CSS: Learn the Fundaments in 7 Days Rating: 4 out of 5 stars4/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5SQL: For Beginners: Your Guide To Easily Learn SQL Programming in 7 Days Rating: 5 out of 5 stars5/5SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and Manipulating Data With SQL Rating: 4 out of 5 stars4/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5Python QuickStart Guide: The Simplified Beginner's Guide to Python Programming Using Hands-On Projects and Real-World Applications Rating: 0 out of 5 stars0 ratingsLearn PowerShell in a Month of Lunches, Fourth Edition: Covers Windows, Linux, and macOS Rating: 0 out of 5 stars0 ratingsPYTHON: Practical Python Programming For Beginners & Experts With Hands-on Project Rating: 5 out of 5 stars5/5Photoshop For Beginners: Learn Adobe Photoshop cs5 Basics With Tutorials Rating: 0 out of 5 stars0 ratingsMastering Windows PowerShell Scripting Rating: 4 out of 5 stars4/5The Absolute Beginner's Guide to Binary, Hex, Bits, and Bytes! How to Master Your Computer's Love Language Rating: 5 out of 5 stars5/5Learn JavaScript in 24 Hours Rating: 3 out of 5 stars3/5Hacking: Ultimate Beginner's Guide for Computer Hacking in 2018 and Beyond: Hacking in 2018, #1 Rating: 4 out of 5 stars4/5Python Machine Learning By Example Rating: 4 out of 5 stars4/5Problem Solving in C and Python: Programming Exercises and Solutions, Part 1 Rating: 5 out of 5 stars5/5Programming Arduino: Getting Started with Sketches Rating: 4 out of 5 stars4/5OneNote: The Ultimate Guide on How to Use Microsoft OneNote for Getting Things Done Rating: 1 out of 5 stars1/5SQL All-in-One For Dummies Rating: 3 out of 5 stars3/5Modern C++ for Absolute Beginners: A Friendly Introduction to C++ Programming Language and C++11 to C++20 Standards Rating: 0 out of 5 stars0 ratings
Reviews for GPU-based Parallel Implementation of Swarm Intelligence Algorithms
0 ratings0 reviews
Book preview
GPU-based Parallel Implementation of Swarm Intelligence Algorithms - Ying Tan
optimization
Chapter 1
Introduction
Contents
1.1 Swarm Intelligence Algorithms (SIAs) 1
1.2 Graphics Processing Units (GPUs) 3
1.3 SIAs and GPUs 3
1.4 Some Perspectives 5
1.5 Organization 6
1.1 Swarm Intelligence Algorithms (SIAs)
Swarm intelligence is the collective behavior of decentralized, self-organized systems. A typical swarm intelligence system consists of a population of simple agents which can communicate (either directly or indirectly) locally with each other by acting on their local environment. Though the agents in a swarm follow very simple rules, the interactions between such agents can lead to the emergence of very complicated global behavior, far beyond the capability of individual agents [54, 55]. Examples in natural systems of swarm intelligence include bird flocking, ant foraging, and fish schooling.
Inspired by swarm’s such behavior, a class of algorithms is proposed for tackling optimization problems, usually under the title of swarm intelligence algorithms (SIAs) [203]. In SIAs, a swarm is made up of multiple artificial agents. The agents can exchange heuristic information in the form of local interaction. Such interaction, in addition with certain stochastic elements, generates the behavior of adaptive search, and finally leads to global optimization.
The most respected and popular SIAs are particle swarm optimization (PSO) which is inspired by the social behavior of bird flocking or fish schooling [87, 19], and ant colony optimization (ACO) which simulates the foraging behavior of ant colony [52, 51]. PSO is widely used for real-parameter optimization while ACO has been successfully applied to solve combinatorial optimization problems, for instance, the most well-known combinatorial optimization problems are the traveling salesman problem (TSP) and quadratic assignment problem (QAP).
Novel SIAs with particular search mechanisms have been proposed and achieved success on specific problems. Some instances of novel SIAs are bacterial foraging optimization (BFO) [145], bee algorithm [148], fish schooling search (FSS) [57], cuckoo search [204], fireworks algorithm (FWA) [180–182, 185], brain storm optimization (BSO) [174], and the list is increasingly long.
In essence, SIAs are iterative-based stochastic search algorithms where heuristic information is shared in order to guide the search in the following iterations. A simplified general framework of SIAs is depicted in Fig. 1.1. For a particular SIAs, the sequence of each phase may be different and some phases can be included several times in a single iteration.
Fig. 1.1 Framework of Swarm Intelligence Algorithms
Though different SIAs utilize different interaction mechanisms and various heuristic information in quite different ways, we think this framework is capable of embodying the essential philosophy underlying SIAs, thus can be used as the reference frame for discussing various parallel implementations on the graphics processing unit (GPU).
Take standard PSO for example. After randomly initializing the population, the fitness value of each particle is evaluated. In the following communication phase, fitness values are communicated among particles according to certain topology (global topology, ring topology, etc.). Then each particle updates its private and neighborhood best information (if necessary), and its velocity and position vector in swarm updating phase. The loop continues until termination conditions (e.g., meeting the presetting accuracy or reaching the maximum number of fitness evaluations) are satisfied.
In the case of typical ACO, ants communicate with one another indirectly via pheromone updating. Each ant needs to construct a feasible path before it can evaluate the fitness (cost of the path). This path construction step may be quite different from PSO and other SIAs for real-parameter optimization at the first glance. However, thinking this step under the proposed reference frame, the path construction is nothing but a stochastic updating mechanism. As the ant has no private memory,
it must build the new solution from scratch with the pheromone as heuristic guide. Once the path is constructed, the calculation of the fitness value is trivial. More often, for combinatorial optimization problems, the fitness value is calculated as the same time as the path is under construction. In this case, fitness evaluation phase and swarm updating can be viewed as emerged into one single