Parallel Enhanced Whale Optimization Algorithm In CUDA

By Bevan Stanely

Please press s for speaker notes!

Meta-Heuristic Optimization Algorithms

  • Rely on simple concepts
  • No need for gradient information
  • Can bypass local optima
  • Useful across wide range of problems

Whale Optimization Algorithm (WOA)

  • Iterative
  • Swarm Based


  • Low exploration ability
  • Slow convergence speed
  • Sticking with local solution easily.


We want to develop a Parallel WOAmM with SpeedUPs in GPU

  • Quality and size of RNGs
  • Data dependencies

Enhanced Whale Optimization Algorithm (WOAmM)


Hybrid algorithm with

Two components


Modified Mutualism phase of the symbiotic organism search (mSOS) algorithm

$$ P^{(k+1)}_i= P^{(k)}_i+rnd\cdot(P_s - MV\cdot BF1) $$

$$ P^{(k+1)}_r= P^{(k)}_n+rnd\cdot(P_s - MV\cdot BF2) $$


Bubble Net Attacking Strategy

How to Parallelise?

  • Model individuals as GPU threads
  • Intra-warp Communication with Butterfly reduction
  • Avoiding Warp Divergence
  • Random Numbers
for(each thread in warp) do{
    while(k < max_iter){
return best solution


Parameters Range
RNG MTGP32,MRG32k3a,Philox_4x32_10
Iterations {30,100,300}
Blocks {1,2,4,6}
Functions {Sphere,Rosenbrock,Rastrigin,Griewank}

Function Properties:

  • Dimension = 30
  • Optimum Value = 0

Comparison of Optimization Fitness

Comparison of SpeedUps

MRG32k3a with 100 iterations and 2 blocks appears to give best results

Future Direction

  • Search for better GPU RNGs
  • Running multiple instances of Parallel WOAmM within a single block and syncing the best solution across all instances halfway through the optimization.
  • Chaotic Maps instead of RNG

ThanK U