Experiences Building Deductive Code Synthesis Tools for Python

Matthew Sottile, Ph.D. - Noddle, LLC

Monday, August 6, 2018
Building 5700, Room MS-A104
10:00 – 11:00 a.m.


In this talk I will present some ongoing work applying deductive program synthesis techniques to map graph algorithms onto GPUs.  We have been developing a tool called Pyx that allows programmers to write in Python with language extensions to support metaprogramming.  Pyx provides quasi-quotation facilities to allow users to define transformations in terms of code templates, as well as a set of static analyses that can be used to guide transformations.  Pyx builds upon a set of application libraries developed for graph and array algorithms that interoperate with community libraries like Numpy and Numba.  This talk will discuss our ongoing R&D progress, including lessons that we have learned along the way and lessons that we carried forward from prior research projects that informed the design of Pyx.  This work is funded as a Phase II DARPA SBIR and is currently in its second year.


Matt Sottile is a co-founder of Noddle, LLC, started in 2016 to develop code synthesis tools for accelerator programming.  Prior to founding Noddle, Matt was the research lead for high performance computing (HPC) at Galois, Inc., in Portland, Oregon.  During his time at Galois, he led multiple projects funded by the Department of Energy in program analysis, transformation, and composition.  From 2001 to 2008 he was a technical staff member at Los Alamos National Laboratory working in HPC systems and programming models, as well as data analytics for code V&V applications.  Matt is also currently an adjunct professor and affiliate graduate faculty member in the Department of Mathematics at Washington State University.  Matt obtained his Ph.D. in computer engineering from the University of New Mexico in 2006, and his BS and MS from the University of Oregon in Mathematics and Computer Science.

Host:  David Bernholdt, bernholdtde@ornl.gov, 865-574-3147