Domain-Specific Program Search
Speaker
Host
Most image processing tasks involve maximizing several objectives like program throughput and output quality. These tasks are typically accomplished by leveraging domain knowledge within a domain-specific programming language (DSL). Despite the efficiency gains provided by DSLs, maximizing design objectives still requires manually exploring many different implementation strategies. For complex tasks, the program search space can be combinatorially large. Manual exploration relies on heuristics to consider a small subset of options, leaving potentially significant performance and quality gains on the table. This thesis is on program search systems for applications ranging from performance and quality optimization of digital camera pipelines to finding fast approximations of linear filters. These systems maximize user design goals by merging domain knowledge with program synthesis techniques, discrete search strategies, and machine learning optimization methods.