|Numerical Code Generation from Symbolic Expressions in Python
|532, ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XXX
|An approach to numerical software development is presented, with the objective to leverage
automatic symbolic expressions' translation to universal functions of different numerical
back-ends. SymPy is used to define the symbolic expressions while NumPy and CuPy are the currently
supported numerical back-ends. This allows the non-expert in GPU programming to easily exploit
GPU computational power for highly demanding numerical tasks, while having the chance to
have the same formulas evaluated also on the CPU.
Our approach is demonstrated in the context of Optics related computations such
as Optical Propagation methods and Zernike modes co-variance computation.