Performance of hardware accelerated particle swarm optimization with digital pheromones on dissimilar computing platforms

Programmable Graphics Processing Units (GPUs) have lately become promising means to perform scientific computations. When appropriately formulated, population based algorithms such as Particle Swarm Optimization (PSO) can leverage the data parallel architecture of GPUs dramatically improving the solution efficiency characteristics. Prior work by the authors demonstrated the feasibility for using GPUs for solving multidimensional optimization problems with digital pheromones in PSO using OpenGL Shading Language (GLSL). However, the programmability of GPUs in recent years fostered the development of a variety of programming languages making it challenging to select a computing language and use it consistently without the pitfall of being obsolete or unstable. This especially applies to design industries that aim at reducing investment and maintenance costs on high performance computing and training their designers to use such equipment. Although different GPU computing languages are available, some hardware specific languages are designed to rake in performance boosts when used with their host GPUs (e.g., Nvidia CUDA). On the other hand, a few are operating system specific (e.g., HLSL). A few are platform agnostic lending themselves to be used on a workstation with any CPU and a GPU (e.g., GLSL, OpenCL). This paper attempts to compare the performance of digital pheromone PSO when implemented on different GPU computing languages. Recommendations will be made on a viable platform for searching multi-dimensional design spaces. In other words, the paper aims to be a useful resource for designers aspiring for using GPUs in their optimization processes.

[1]  Michael D. McCool,et al.  Shader algebra , 2004, ACM Trans. Graph..

[2]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[3]  Eliot Winer,et al.  Digital Pheromone Implementation of PSO with Velocity Vector Accelerated by Commodity Graphics Hardware , 2006 .

[4]  B J Fregly,et al.  Parallel global optimization with the particle swarm algorithm , 2004, International journal for numerical methods in engineering.

[5]  Eliot Winer,et al.  Implementation of digital pheromones in PSO accelerated by commodity Graphics Hardware , 2008 .

[6]  E. Bonabeau,et al.  Swarm Intelligence: A New C2 Paradigm with an Application to Control Swarms of UAVs , 2003 .

[7]  David Tarditi,et al.  Accelerator: using data parallelism to program GPUs for general-purpose uses , 2006, ASPLOS XII.

[8]  Randima Fernando,et al.  The CG Tutorial: The Definitive Guide to Programmable Real-Time Graphics , 2003 .

[9]  Tamy Boubekeur,et al.  Generic mesh refinement on GPU , 2005, HWWS '05.

[10]  James Kennedy,et al.  Particle swarm optimization , 2002, Proceedings of ICNN'95 - International Conference on Neural Networks.

[11]  SugermanJeremy,et al.  Brook for GPUs , 2004 .

[12]  Leif Kobbelt,et al.  Character animation from 2D pictures and 3D motion data , 2007, TOGS.

[13]  V. Pascucci,et al.  Isosurface computation made simple: hardware acceleration, adaptive refinement and tetrahedral stripping , 2004, VISSYM'04.

[14]  Marco Dorigo,et al.  Distributed Optimization by Ant Colonies , 1992 .

[15]  H. Van Dyke Parunak,et al.  DIGITAL PHEROMONES FOR AUTONOMOUS COORDINATION OF SWARMING UAV'S , 2002 .

[16]  Yue Shi,et al.  A modified particle swarm optimizer , 1998, 1998 IEEE International Conference on Evolutionary Computation Proceedings. IEEE World Congress on Computational Intelligence (Cat. No.98TH8360).

[17]  Russell C. Eberhart,et al.  Swarm intelligence for permutation optimization: a case study of n-queens problem , 2003, Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03 (Cat. No.03EX706).

[18]  Jaco F. Schutte,et al.  Particle swarms in sizing and global optimization , 2002 .

[19]  Russell C. Eberhart,et al.  Solving Constrained Nonlinear Optimization Problems with Particle Swarm Optimization , 2002 .

[20]  Xiaohui Hu,et al.  Engineering optimization with particle swarm , 2003, Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03 (Cat. No.03EX706).

[21]  Andries Petrus Engelbrecht,et al.  Fundamentals of Computational Swarm Intelligence , 2005 .

[22]  David Defour,et al.  Implementation of float-float operators on graphics hardware , 2006, ArXiv.

[23]  A. Lefohn Glift: an abstraction for generic, efficient GPU data structures , 2005, SIGGRAPH Courses.

[24]  Russell C. Eberhart,et al.  A new optimizer using particle swarm theory , 1995, MHS'95. Proceedings of the Sixth International Symposium on Micro Machine and Human Science.

[25]  James H. Oliver,et al.  UAV Swarm Control: Calculating Digital Pheromone Fields with the GPU , 2006 .

[26]  Russell C. Eberhart,et al.  Parameter Selection in Particle Swarm Optimization , 1998, Evolutionary Programming.

[27]  Eliot Winer,et al.  Implementation of Digital Pheromones for Use in Particle Swarm Optimization , 2006 .

[28]  Reinhard Wilhelm,et al.  The CGiS Compiler-A Tool Demonstration , 2006, CC.

[29]  Eliot Winer,et al.  Improving solution characteristics of particle swarm optimization using digital pheromones , 2009 .

[30]  Marco Dorigo,et al.  Ant system: optimization by a colony of cooperating agents , 1996, IEEE Trans. Syst. Man Cybern. Part B.

[31]  Eliot Winer,et al.  A Statistical Analysis of Particle Swarm Optimization With and Without Digital Pheromones , 2007 .

[32]  Nabil H. Mustafa,et al.  Streaming Geometric Optimization Using Graphics Hardware , 2003, ESA.

[33]  Russell C. Eberhart,et al.  Particle swarm with extended memory for multiobjective optimization , 2003, Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03 (Cat. No.03EX706).

[34]  Pedro Trancoso,et al.  Initial Experiences Porting a Bioinformatics Application to a Graphics Processor , 2005, Panhellenic Conference on Informatics.

[35]  Hitoshi Iba,et al.  Particle swarm optimization with Gaussian mutation , 2003, Proceedings of the 2003 IEEE Swarm Intelligence Symposium. SIS'03 (Cat. No.03EX706).

[36]  Arcot J. Preetham,et al.  Ashli - Advanced Shading Language Interface , 2003, Eurographics.

[37]  Byung-Il Koh,et al.  Parallel asynchronous particle swarm optimization , 2006, International journal for numerical methods in engineering.

[38]  Yuhui Shi,et al.  Particle swarm optimization: developments, applications and resources , 2001, Proceedings of the 2001 Congress on Evolutionary Computation (IEEE Cat. No.01TH8546).

[39]  Tony White,et al.  Towards multi-swarm problem solving in networks , 1998, Proceedings International Conference on Multi Agent Systems (Cat. No.98EX160).

[40]  Eliot Winer,et al.  A parallel implementation of particle swarm optimization using digital pheromones , 2006 .

[41]  Nabil H. Mustafa,et al.  Hardware-assisted view-dependent map simplification , 2001, SCG '01.

[42]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[43]  B. P. Wang,et al.  Particle Swarm Optimization for Mixed Discrete, Integer and Continuous Variables , 2004 .

[44]  James P. Ahrens,et al.  Scout: a hardware-accelerated system for quantitatively driven visualization and analysis , 2004, IEEE Visualization 2004.

[45]  J. Sobieszczanski-Sobieski,et al.  Multidisciplinary optimization of a transport aircraft wing using particle swarm optimization , 2004 .

[46]  Geoff Leach,et al.  Improved CSG rendering using overlap graph subtraction sequences , 2003, GRAPHITE '03.