Symbolic Generation of Parallel Solvers for Inverse Imaging Problems Jessica L. M. Pavlin pavlinjl@mcmaster.ca Christopher Kumar Anand anandc@mcmaster.ca Department of Computing and Software, McMaster University Hamilton, Ontario, Canada L8S 4K1 c 12 September 2014 Medical Image Reconstruction is characterized by requirements to (1) pro- cess high volumes of data quickly so sick patients need not wait or be called back for re-imaging, and (2) provide the highest level of software quality, in- cluding both correctness and safety. Parallelization today allows very high levels of performance, at the cost of duplicating hardware resources and increasing software complexity. Software complexity makes it harder to en- sure correctness and safety in a domain where errors can easily arise out of miscommunication between domain experts and software developers. To solve these problems, we propose a development environment which transforms simple mathematical models into parallel programs via term graph transformations and code generation to an intermediate language we call Atomic Verifiable Operations (AVOps), which we have previously in- troduced together with a linear-time verification method. In this paper, we will describe a variation on AVOps which supports multi-core systems, and, for the first time, the Coconut Expression Library, a Domain Specific Language (DSL) for domain experts to specify mathematical models in the form of objective functions, and for performance experts to provide rule- based transformations to compute gradients, algebraic simplifications and finally parallelizations expressed using AVOps. Computing and Software Report CAS-14-05-CA