Compiling Diderot: From Tensor Calculus to C
Charisee Chiw, Gordon L. Kindlmann, John Reppy

TL;DR
This paper presents a compiler approach for Diderot, a language for scientific image analysis, translating high-level tensor calculus into efficient C code using a novel intermediate representation called EIN.
Contribution
The paper introduces EIN, an intermediate representation that enables efficient compilation of Diderot's tensor calculus to C, reducing manual derivations and implementation effort.
Findings
EIN improves compiler efficiency and code quality.
The approach effectively lowers tensor calculus to C.
Compilation avoids combinatorial explosion in IR size.
Abstract
Diderot is a parallel domain-specific language for analysis and visualization of multidimensional scientific images, such as those produced by CT and MRI scanners. In particular, it supports algorithms where tensor fields (i.e., functions from 3D points to tensor values) are used to represent the underlying physical objects that were scanned by the imaging device. Diderot supports higher-order programming where tensor fields are first-class values and where differential operators and lifted linear-algebra operators can be used to express mathematical reasoning directly in the language. While such lifted field operations are central to the definition and computation of many scientific visualization algorithms, to date they have required extensive manual derivations and laborious implementation. The challenge for the Diderot compiler is to effectively translate the high-level…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsHistory and Theory of Mathematics · Mathematics Education and Teaching Techniques · Historical and Literary Studies
