Jonathan Ragan-Kelley
Assistant Professor
Research Interests
Explore related searches
Contact this professor
Get a free first email built on one of their papers, ready for you to edit and send yourself.
About
Jonathan Ragan-Kelley is an Assistant Professor at the Massachusetts Institute of Technology in the United States. His research areas include geometry processing, compiler verification, and optimization for functional tensor languages. He has contributed to recent articles focusing on topics such as the geometry processing of impossible objects and local composition of black-box subroutines. His work also encompasses the semantics and scheduling for machine knitting compilers, reflecting his diverse interdisciplinary interests.
Articles (6)
Year:
2025
Year:
2025
Computations in physical simulation, computer graphics, and probabilistic inference often require the differentiation of discontinuous processes due to contact, occlusion, and changes at a point in time. Popular differentiable programming languages, such as PyTorch and JAX, ignore discontinuities during differentiation. This is incorrect for parametric discontinuities —conditionals containing at least one real-valued parameter and at least one variable of integration. We introduce Potto, the first differentiable first-order programming language to soundly differentiate parametric discontinuities. We present a denotational semantics for programs and program derivatives and show the two accord. We describe the implementation of Potto, which enables separate compilation of programs. Our prototype implementation overcomes previous compile-time bottlenecks achieving an 88.1x and 441.2x speed up in compile time and a 2.5x and 7.9x speed up in runtime, respectively, on two increasingly large image stylization benchmarks. We showcase Potto by implementing a prototype differentiable renderer with separately compiled shaders.
Year:
2024
Year:
2024
Machine knitting is a well-established fabrication technique for complex soft objects, and both companies and researchers have developed tools for generating machine knitting patterns. However, existing representations for machine knitted objects are incomplete (do not cover the complete domain of machine knittable objects) or overly specific (do not account for symmetries and equivalences among knitting instruction sequences). This makes it difficult to define correctness in machine knitting, let alone verify the correctness of a given program or program transformation. The major contribution of this work is a formal semantics for knitout, a low-level Domain Specific Language for knitting machines. We accomplish this by using what we call the fenced tangle , which extends concepts from knot theory to allow for a mathematical definition of knitting program equivalence that matches the intuition behind knit objects. Finally, using this formal representation, we prove the correctness of a sequence of rewrite rules; and demonstrate how these rewrite rules can form the foundation for higher-level tasks such as compiling a program for a specific machine and optimizing for time/reliability, all while provably generating the same knit object under our proposed semantics. By establishing formal definitions of correctness, this work provides a strong foundation for compiling and optimizing knit programs.
Year:
2023
Year:
2022
Collaborators (5)
Saman Amarasinghe
Massachusetts Institute of Technology
Tzu-Mao Li
University of California
Justin Solomon
Massachusetts Institute of Technology
James Mccann
Carnegie Mellon University
Vincent Sitzmann
Assistant Professor
Massachusetts Institute of Technology
Make your next move.
Prepare your application
Review drafts before you send them.