Phitchaya Mangpo Phothilimthana

mangpo [at]

I have graduated and am now a research scientist at Google Brain. Here is my new site.

I was a Ph.D. Student at UC Berkeley, working with Ras Bodik and Kathy Yelick on a programming model and synthesis-aided compilation methodology for unusual architectures. I was also a visiting student at University of Washington for the last two years of my Ph.D. I was an undergrad at MIT where I worked with Saman Amarashinghe on an auto-tuning compiler for heterogeneous systems.

I was supported by Microsoft Research Fellowship during 2015-2017 academic years, and Qualcomm Innovation Fellowship during 2013-2014 academic year.


Feb 18 New Chlorophyll demo: hand gesture recognition powered by a potato!
Oct 17 Released GreenThumb 2.0


Synthesis-Aided Compiler for Energy-Efficient Spatial Architectures

Chlorophyll is a synthesis-aided compiler for unusual spatial architectures. The primary goal of the project is to provide a new way of building compilers for radical architectures with low-effort while its generated code is still efficient. Currently, Chlorophyll can generate code for GreenArrays chip, our stress case study. The code generator uses superoptimizer for GreeanArrays F18A instruction set, based on an inductive synthesis technique, to automatically discover program optimizations.

Superoptimizer Construction Framework

GreenThumb is a framework for building superoptimizers. It is designed to be easily extended to a new target ISA. The framework provides an efficient cooperative search strategy that runs multiple search instances cooperatively. Each search instance employs either a symbolic, stochastic, or enumerative search. We develop an new enumerative search technique, called LENS, that rapidly prunes away invalid candidate programs by applying selective refinement and bidirectional search.

PataBricksGPU: Portable Compiler for Heterogeneous Architectures

Extended PetaBricks to automatically generate OpenCL kernels and present heterogeneity choices to the autotuner. Introduced hybrid CPU-work-stealing and GPU-work-pushing runtime system. This work was done at MIT.

Side Projects

edX Data Scrubbing

edX-datascrub is a tool for processing edX data into nicely format CSV files that are easily analyzable. This tool is built on HarvardX data scrubbing tool.

Dicer: A Framework for Controlled, Large-Scale Web Experiments

Dicer is designed for running large-scale controlled JavaScript experiments on real webpages. It allows DOM interaction between the tested arbitrary JavaScript programs and live webpages, guarantees same input pages in the same experiment session, and parallelizes test executions.

PCscheduler: scheduler for paper disscussion in PC meeting

PCscheduler was used for scheduling paper disccusion order in ASPLOS'13 PC meeting.
Anyone is welcome to try and use for the real scheduling.


Data-Driven Synthesis of Full Probabilistic Programs
Sarah Chasins and Phitchaya Mangpo Phothilimthana
Conference on Computer-Aided Verification (CAV'17)
Heidelberg, Germany. July 2017. [ pdf ]

High-Coverage Hint Generation for Massive Courses:
Do Automated Hints Help CS1 Students?

Phitchaya Mangpo Phothilimthana and Sumukh Sridhara
Conference on Innovation and Technology in Computer Science Education (ITiCSE'17)
Bologna, Italy. July 2017. [ pdf ]

Domain-Specific Symbolic Compilation
Rastislav Bodik, Kartik Chandra, Phitchaya Phothilimthana, and Nathaniel Yazdani
Summit oN Advances in Programming Languages (SNAPL'17)
Asilomar, California. May 2017. [ pdf ]

Short and Simple Cycle Separators in Planar Graphs
Eli Fox-Epstein, Shay Mozes, Phitchaya Mangpo Phothilimthana, and Christian Sommer
Journal of Experimental Algorithmics (JEA'16)
Volume 21 Issue 2, October 2016. Article No. 2.2 [ pdf ]

Compiling a Gesture Recognition Application for a Low-Power Spatial Architecture
Phitchaya Mangpo Phothilimthana, Michael Schuldt, and Rastislav Bodik
Conference on Languages, Compilers, Tools and Theory for Embedded Systems (LCTES'16)
Santa Barbara, California. June 2016. [ pdf ] [ slides ]

Scaling up Superoptimization
Phitchaya Mangpo Phothilimthana, Aditya Thakur, Rastislav Bodik, and Dinakar Dhurjati
Architectural Support for Programming Language and Operating Systems (ASPLOS'16)
Atlanta, Georgia. April 2016. [ pdf ] [ slides ]

GreenThumb: Superoptimizer Construction Framework
Tool Demonstration Paper
Phitchaya Mangpo Phothilimthana, Aditya Thakur, Rastislav Bodik, and Dinakar Dhurjati
Conference on Compiler Construction (CC'16)
Barcelona, Spain. March 2016. [ pdf (short) ] [ pdf (full) ] [ demo ]

Dicer: A Framework for Controlled, Large-Scale Web Experiments
Sarah Chasins and Phitchaya Mangpo Phothilimthana
Temporal Web Analytics Workshop (TempWeb'15)
Florence, Italy. May 2015. [ pdf ]

Chlorophyll: Synthesis-Aided Compiler for Low-Power Spatial Architectures (M.S. Thesis)
Phitchaya Mangpo Phothilimthana
University of California, Berkeley
Berkeley, CA. May 2015. [ pdf ]

A Comparison of Error Metrics for Learning Model Parameters in Bayesian Knowledge Tracing
Phitchaya Mangpo Phothilimthana, Asif Dhanani, Seung Yeon Lee, and Zachary Pardos
Bayesian Knowledge Tracing 20 Years Workshop (BKT20y)
London, UK. July 2014. [ poster ] [ pdf ] [ tech-report ]

Chlorophyll: Synthesis-Aided Compiler for Low-Power Spatial Architectures
Phitchaya Mangpo Phothilimthana, Tikhon Jelvis, Rohin Shah, Nishant Totla, Sarah Chasins, and Rastislav Bodik
Programming Languages Design and Implementation (PLDI'14)
Edinburgh, UK. June 2014. [ pdf ] [ slides ]

Communication-Minimizing 2D Convolution in GPU Registers
Forrest Iandola, David Sheffield, Michael Anderson, Phitchaya Mangpo Phothilimthana, and Kurt Keutzer
International Conference on Image Processing (ICIP'13)
Melbourne, Australia. September 2013. [ pdf ]

Portable Performance on Heterogeneous Architectures
Phitchaya Mangpo Phothilimthana, Jason Ansel, Jonathan Ragan-Kelley, and Saman Amarasinghe
Architectural Support for Programming Language and Operating Systems (ASPLOS'13)
Houston, Texas. March 2013. [ pdf ] [ slides ]

Short and Simple Cycle Separators in Planar Graphs
Eli Fox-Epstein, Shay Mozes, Phitchaya Mangpo Phothilimthana, and Christian Sommer
Algorithm Engineering and Experiments (ALENEX'13)
New Orleans, Louisiana. January 2013. [ pdf ]


High-Coverage Hint Generation for Racket Programming Assignments
RacketCon 2017, Invited Talk in Seattle, Washington. October 2017. [ pdf ]

Synthesis-Aided Compiler for GreenArrays
Forth Day 2013, Invited Talk in Stanford, California. November 2013. [ pdf ]

Programming Model and Synthesis for Low-power Spatial Architectures
Qualcomm Innovation Fellowship Finalist Presentation in Santa Clara, California. March 2013.
[ pptx ] [ pdf ]

Program Synthesis for Low-Power Device
Qualcomm, Invited Talk in San Diego, California. December 2012. [ pptx ] [ pdf ]

Program Synthesis for Forth
Forth Day 2012, Invited Talk at Stanford, California. November 2012. [ pdf ]

MRSI module and SIVIC interface
Bjoern Menze, Mangpo Phothilimthana, Olson Beck, Jason Crane, and Polina Golland
National Alliance for Medical Image Computing’s Summer Project week (NAMIC'10)
Boston, Massachusetts. June 2010. [ URL ]