AnyDSL is a framework for the rapid development of domain-specific libraries (DSLs). AnyDSL's main ingredient is AnyDSL's intermediate representation Thorin. In contrast to other intermediate representations, Thorin features certain abstractions which allow to maintain domain-specific types and control-flow. On these grounds, a DSL compiler gains two major advantages:
- The domain expert can focus on the semantics of the DSL. The DSL's code generator can leave low-level details like exact iteration order of looping constructs or detailed memory layout of data types open. Nevertheless, the code generator can emit Thorin code which acts as interchange format.
- The expert of a certain target machine just has to specify the required details once. These details are linked like a library to the abstract Thorin code. Thorin's analyses and transformations will then optimize the resulting Thorin code in a way such that the resulting Thorin code appears to be written by an expert of that target machine.
Richard Membarth is a senior researcher at the German Research Center for Artificial Intelligence (DFKI). His research interests include parallel computer architectures and programming models with focus on automatic code generation for a variety of architecture ranging from embedded systems to HPC installations for applications from image processing, computer graphics, and scientific computing.
Richard received the diploma degree in computer science from the University of Erlangen-Nuremberg and the postgraduate diploma in computer and information sciences from the Auckland University of Technologies. In 2013, he received the PhD (Dr.-Ing.) degree from the University of Erlangen-Nuremberg on automatic code generation for GPU accelerators from a domain-specific language for medical imaging. After the PhD, he joined the Graphics Chair and the Intel Visual Computing Institute at Saarland University as a postdoctoral researcher.
Host: Sven-Bodo Scholz