### A Domain-Specific Language for the Generation of Optimized
SIMD-Parallel Assembly Code

#### Christopher Kumar Anand, Wolfram Kahl

We present a domain-specific
language embedded into Haskell that allows mathematicians to formulate novel
high-performance SIMD-parallel algorithms for the evaluation of special
functions.

Developing such functions involves
explorations both of mathematical properties of the functions which lead to
effective (rational) polynomial approximations, and of specific properties of
the binary representation of floating point numbers. Our framework includes
support for estimating the effectiveness of different approximation schemes in
Maple. Once a scheme is chosen, the Maple generated component is integrated
into the code generation setup. Numerical experimentation can then be performed
interactively, with support functions for running standard tests and tabulating
results. Once a satisfactory formulation is achieved, a code graph
representation of the algorithm can be passed to other components which produce
C function bodies, or to a state-of-the-art scheduler which produces optimal or
near-optimal schedules, currently targeting the “Cell Broadband Engine”
processor.

Encapsulating a considerable amount
of knowledge about specific “tricks” in DSL constructs allows us produce
algorithm specifications that are precise, readable, and compile to
optimal-quality assembly code, while formulations of the equivalent algorithms
in C would be almost impossible to understand and maintain.