ASPCS
 
Back to Volume
Paper: Using Automated Code Generation to Support High Performance Extended MHD Integration in OpenGGCM
Volume: 444, 5th International Conference of Numerical Modeling of Space Plasma Flows (ASTRONUM 2010)
Page: 197
Authors: Germaschewski, K.; Raeder, J.
Abstract: Automatic code generation is a technique that takes the specification of an algorithm at a high abstraction level and turns it into a well-tuned computer code. For finite-volume / finite-difference based discretizations, this higher abstraction level can be a stencil computation. At the backend, the code generator features modules which generate optimal code for specific hardware architectures, for example conventional architectures (x86) using SIMD instructions (e.g. SSE2), or heterogeneous architectures like the Cell processor or GPGPUs. The definition of the computation is agnostic to the actual hardware used, as a high-performance implementation tailored to the specific architecture will be generated automatically. The OpenGGCM code, a global magnetosphere model, has been converted to use an automatically generated implementation of its magnetohydrodynamics (MHD) integrator. The new version enables us to take advantage of the Cell processor's computational capability and also shows performance improvements of up to 2.3× on a conventional Intel processor. The code generation approach also facilitated the recent extension of the MHD model to incorporate Hall physics.
Back to Volume