  To optimize the geometry of airfoils for a specific application is an
important engineering problem. In this context genetic algorithms have enjoyed
some success as they are able to explore the search space without getting stuck
in local optima. However, these algorithms require the computation of
aerodynamic properties for a significant number of airfoil geometries.
Consequently, for low-speed aerodynamics, panel methods are most often used as
the inner solver.
  In this paper we evaluate the performance of such an optimization algorithm
on modern accelerators (more specifically, the Intel Xeon Phi 7120 and the
NVIDIA K80). For that purpose, we have implemented an optimized version of the
algorithm on the CPU and Xeon Phi (based on OpenMP, vectorization, and the
Intel MKL library) and on the GPU (based on CUDA and the MAGMA library). We
present timing results for all codes and discuss the similarities and
differences between the three implementations. Overall, we observe a speedup of
approximately $2.5$ for adding an Intel Xeon Phi 7120 to a dual socket
workstation and a speedup between $3.4$ and $3.8$ for adding a NVIDIA K80 to a
dual socket workstation.
