University of Cambridge > Talks.cam > Applied and Computational Analysis > Domain-specific languages and code generation for scientific computing

Domain-specific languages and code generation for scientific computing

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Carola-Bibiane Schoenlieb.

Increasing model complexity, method diversity and evolving hardware present particular challenges when developing computer code for both new and existing problems. An approach to dealing with this is the development and use of domain-specific languages (DSL) that reflect the mathematical structure of the problem at hand. A DSL allows expressive, compact computer input that is near-identical to conventional mathematical notation, and it preserves the richness of the abstract representation. From the DSL representation, lower-level, and possibly hardware-dependent, code can be generated. The DSL maintains a separation between the mathematical representation, the low-level code implementation and hardware details. This can lead to a reduction in errors, accelerated model development and scope for hardware specialisation. Moreover, preserving the mathematical abstraction makes correctness checks and the automated creation of auxiliary problems possible. A specific DSL for solving variational problems is presented, as too is a compiler for generating optimised low-level computer code from the abstract input. It is shown that in the domain-specific environment it is possible to bring to bear specialised optimisations that require domain-specific knowledge, and which cannot be expected of a general purpose compiler. This facilitates the rapid development of high-performance solvers. Examples of this will be presented for a range of problems. All presented software elements are available under open source licenses.

This talk is part of the Applied and Computational Analysis series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

© 2006-2022 Talks.cam, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity