Designing a high-performance boundary element library with OpenCL and Numba

T. Betcke, M. W. Scroggs
Department of Mathematics, University College London
University College London, 2021


   title={Designing a high-performance boundary element library with OpenCL and Numba},

   author={Betcke, Timo and Scroggs, Matthew},

   journal={Computing in Science & Engineering},




The Bempp boundary element library is a well known library for the simulation of a range of electrostatic, acoustic and electromagnetic problems in homogeneous bounded and unbounded domains. It originally started as a traditional C++ library with a Python interface. Over the last two years we have completely redesigned Bempp as a native Python library, called Bempp-cl, that provides computational backends for OpenCL (using PyOpenCL) and Numba. The OpenCL backend implements kernels for GPUs and CPUs with SIMD optimization. In this paper, we discuss the design of Bempp-cl, provide performance comparisons on different compute devices, and discuss the advantages and disadvantages of OpenCL as compared to Numba.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: