期刊文献+

基于Coq的矩阵代码生成技术

Coq-based Matrix Code Generation Technology
下载PDF
导出
摘要 矩阵程序在智能系统中扮演着越来越重要的角色.随着矩阵应用的复杂性日益增加,生成正确矩阵代码的难度也在不断变大.并行硬件能够极大地提高矩阵运算的速度,然而,使用并行硬件进行编程以实现并行运算,需要编程人员在程序中描述功能以及如何利用硬件资源来交付结果.这些程序通常是命令式语言,难以推理并且重构,以尝试不同的并行化策略.在Coq中实现了由高级矩阵算子到C代码的矩阵表达式代码生成技术,其能够将带有执行策略的函数式矩阵代码转换为高效低级命令式代码.未来,将把矩阵的形式化同矩阵代码自动生成融合在一起,对矩阵代码转换的过程进行形式化验证,以保障生成的矩阵代码的可靠性,为实现基于矩阵形式化方法的高可靠性深度学习编译器的研制打下基础. Matrix programs are taking increasing important role in the intelligent systems. As the complexity of matrix applications grows,the difficulty of producing correct matrix code does the same. Parallel hardware can greatly increase the speed of matrix operations;nevertheless, using parallel hardware for programming to achieve parallel operations requires programmers to describe functions in the program and to manage how to use hardware resources to deliver results. These programs are usually written in imperative languages that are difficult to reason about and refactor for different parallelization strategies. A matrix expression code generation technology has been implemented from high-level matrix operators to C code in Coq, which can convert functional matrix code with execution strategies into efficient low-level imperative code. In the future, the formal verification of the matrix will be integrated with the automatic generation of matrix code, and formal verification of the matrix code conversion process will be performed to ensure the reliability of the generated matrix code, laying the foundationfor the development of a high-reliability deep learning compiler based on the matrix formal method.
作者 麻莹莹 陈钢 MA Ying-Ying;CHEN Gang(College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing 211106,China)
出处 《软件学报》 EI CSCD 北大核心 2022年第6期2224-2245,共22页 Journal of Software
关键词 定理证明 矩阵代码生成 形式化工程数学 高阶定理证明 COQ theorem proving matrix code generation formalized engineering mathematics higher order theorem proving Coq
  • 相关文献

参考文献5

二级参考文献52

  • 1Fox A. Formal specification and verification of ARM6 // Theorem Proving in Higher Order Logics. Rome, 2003:25-40.
  • 2Daum M, Schirmer N W, Schmidt M. Implementation correctness of a real-time operating system // Van Hung 13, Krishnan P. 7th International Conference on Software Engineering and Formal Methods (SEFM 2009). Hanoi, 2009:23-32.
  • 3Leroy X. Formal verification of a realistic compiler. Communications of the ACM, 2009, 52(7): 107-115.
  • 4Bryant R. Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 1986, C-35(8): 677-691.
  • 5Biere A. Handbook of Satisfiability. IOS Press, 2009.
  • 6Clarke E M, Grumberg O, Peled D A. Model checking. Cambridge, MA: The MIT Press, 1999.
  • 7Clarke E, Kroening D, Yorav K. Behavioral consistency of C and verilog programs using bounded model checking, DAC 2003.
  • 8Anaheim, 2003:368-371 Behrmann G, David A, Larsen K G. A tutorial on Uppaal // Proceedings of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems. Bertinora, 2004:200-236.
  • 9Cimatti A, Corvino R, Lazzaro A, et al. Formal verification and validation of ERTMS industrial railway train spacing system // Computer Aided Verification. Berkeley, 2012:378-393.
  • 10De Moura L, Dutertre B, Shankar N. A tutorial on satisfiability modulo theories // CAV'2007. Berlin, 2007:20-36.

共引文献99

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部