PyFR is an open-source high-order accurate computational fluid dynamics solver for unstructured grids. It is designed to efficiently solve the compressible Navier-Stokes equations on a range of hardware platforms, including GPUs and CPUs. In this paper we will describe how the Python Offload Infrastructure for the Intel Many Integrated Core Architecture (pyMIC) was used to enable PyFR to run with near native performance on the Intel Xeon Phi coprocessor. We will introduce the architecture of both pyMIC and PyFR and present a variety of examples showcasing the capabilities of pyMIC. Further, we will also compare the contrast pyMIC to other approaches including native execution and OpenCL. The process of adding support for pyMIC into PyFR will be described in detail. Benchmark results show that for a standard cylinder flow problem PyFR with pyMIC is able achieve 240 GFLOP/s of sustained double precision floating point performance; for a 1.85 times improvement over PyFR with C/OpenMP on a 12 core Intel Xeon E5-2697 v2 CPU.
['Michael Klemm', 'Freddie D. Witherden', 'Peter E. Vincent']
Using the pyMIC Offload Module in PyFR