pyMIC: A Python Offload Module for the Intel Xeon Phi Coprocessor

Michael Klemm, Jussi Enkovaara
Software and Services Group, Intel Corporation
4th Workshop on Python for High Performance and Scientific Computing (PyHPC 2014), 2014


   title={pyMIC: A Python Offload Module for the Intel Xeon Phi Coprocessor},

   author={Klemm, Michael and Enkovaara, Jussi},



Download Download (PDF)   View View   Source Source   



Python has gained a lot of attention by the high performance computing community as an easy-to-use, elegant scripting language for rapid prototyping and development of flexible software. At the same time, there is an ever-growing need for more compute power to satisfy the demand for higher accuracy simulation or more detailed modeling. The Intel Xeon Phi coprocessor strives to provide additional compute power for floating-point intensive codes, while maintaining the programmability of the traditional Intel Xeon platform. In this paper, we present a Python module to handle offloads to the Intel Xeon Phi coprocessor from Python code. It provides an easy-to-use interface to invoke compute kernels on the coprocessor, while handling data transfers in a flexible yet performant way. We discuss how the Python module can be utilized to offload key kernels in the Python-based open source electronic-structure simulation software GPAW. Micro-benchmarks show that our solution imposes only marginal overheads on the kernel invocations. Our performance results for select GPAW kernels show a 2.5 to 6.8 fold performance advantage of offloading over host execution.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: