Accelerating Legacy String Kernels via Bounded Automata Learning Kevin Angstadt Jean-Baptiste Jeannin Westley Weimer University of Michigan University of Michigan University of Michigan Computer Science and Engineering Aerospace Engineering Computer Science and Engineering Ann Arbor, MI, USA Ann Arbor, MI, USA Ann Arbor, MI, USA
[email protected] [email protected] [email protected] Abstract CCS Concepts. • Computer systems organization → Re- The adoption of hardware accelerators, such as FPGAs, into configurable computing; • Theory of computation → Reg- general-purpose computation pipelines continues to rise, ular languages; • Software and its engineering → Soft- but programming models for these devices lag far behind ware design techniques. their CPU counterparts. Legacy programs must often be Keywords. automata learning, automata processing, legacy rewritten at very low levels of abstraction, requiring inti- programs mate knowledge of the target accelerator architecture. While techniques such as high-level synthesis can help port some ACM Reference Format: Kevin Angstadt, Jean-Baptiste Jeannin, and Westley Weimer. 2020. legacy software, many programs perform poorly without Accelerating Legacy String Kernels via Bounded Automata Learn- manual, architecture-specific optimization. ing. In Proceedings of the Twenty-Fifth International Conference on We propose an approach that combines dynamic and static Architectural Support for Programming Languages and Operating analyses to learn a model of functional behavior for off-the- Systems (ASPLOS ’20), March 16–20, 2020, Lausanne, Switzerland. shelf legacy code and synthesize a hardware description from ACM, New York, NY, USA, 15 pages. https://doi.org/10.1145/3373376. this model. We develop a framework that transforms Boolean 3378503 string kernels into hardware descriptions using techniques from both learning theory and software verification.