Affiliation:
1. University of Virginia, Charlottesville, VA, USA
Abstract
We present RAPID, a high-level programming language and combined imperative and declarative model for programming pattern-recognition processors, such as Micron's Automata Processor (AP). The AP is a novel, non-Von Neumann architecture for direct execution of non-deterministic finite automata (NFAs), and has been demonstrated to provide substantial speedup for a variety of data-processing applications. RAPID is clear, maintainable, concise, and efficient both at compile and run time. Language features, such as code abstraction and parallel control structures, map well to pattern-matching problems, providing clarity and maintainability. For generation of efficient runtime code, we present algorithms to convert RAPID programs into finite automata. Further, we introduce a tessellation technique for configuring the AP, which significantly reduces compile time, increases programmer productivity, and improves maintainability. We evaluate five RAPID programs against custom, baseline implementations previously demonstrated to be significantly accelerated by the AP. We find that RAPID programs are much shorter in length, are expressible at a higher level of abstraction than their handcrafted counterparts, and yield generated code that is often more compact. In addition, our tessellation technique for configuring the AP has comparable device utilization to, and results in compilation that is up to four orders of magnitude faster than, current solutions.
Funder
Air Force Research Laboratory
National Science Foundation
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference22 articles.
1. Synthesis of interface specifications for Java classes
2. Debugging temporal specifications with concept analysis
3. K. R. Apt J. Brunekreef V. Partington and A. Schaerf. Alma-0: An imperative language that supports declarative programming. Technical report 1997. K. R. Apt J. Brunekreef V. Partington and A. Schaerf. Alma-0: An imperative language that supports declarative programming. Technical report 1997.
4. Capgemini. Big & fast data : The rise of insight-driven business. http://www.capgemini.com/resource-file-access/resource/pdf/big_fast_data_the_rise_of_insight-driven_business-report.pdf 2015. Capgemini. Big & fast data : The rise of insight-driven business. http://www.capgemini.com/resource-file-access/resource/pdf/big_fast_data_the_rise_of_insight-driven_business-report.pdf 2015.
Cited by
11 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. ngAP: Non-blocking Large-scale Automata Processing on GPUs;Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 1;2024-04-17
2. A survey on hardware accelerators: Taxonomy, trends, challenges, and perspectives;Journal of Systems Architecture;2022-08
3. APmap: An Open-Source Compiler for Automata Processors;IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems;2022-01
4. Combining Natural Language Processing and Blockchain for Smart Contract Generation in the Accounting and Legal Field;Intelligent Human Computer Interaction;2021
5. Impala: Algorithm/Architecture Co-Design for In-Memory Multi-Stride Pattern Matching;2020 IEEE International Symposium on High Performance Computer Architecture (HPCA);2020-02