|
|
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. |
|
|
|
|