ABSTRACT
GPUs are now a mainstream compute device. They are widely used to render images on medical devices. Today, it has become impossible to imagine AI without them. To build confidence on the accuracy of rendering images and complex calculations, it is essential to consider formalizing the behaviour of GPU Instruction Set Architecture (ISA) at the assembly language level. In this paper, we present the formalization of GPU shader programs. We prove some properties of shader programs with respect to operational semantics of our formal model. We use Coq to mechanize the formalization of our model and proofs.
- NVIDIA Corporation. 2018. CUDA Parallel Computing. Retrieved December 13, 2018 from https://www.nvidia.in/object/cuda-parallel-computing-in.htmlGoogle Scholar
- NVIDIA Corporation. 2018. Parallel Thread Execution ISA Version 6.3. Retrieved December 13, 2018 from https://docs.nvidia.com/cuda/parallel-thread-execution/index.htmlGoogle Scholar
- Georges Gonthier, Assia Mahboubi, and Enrico Tassi. 2016. A Small Scale Reflection Extension for the Coq system. Research Report RR-6455. Inria Saclay Ile de France. https://hal.inria.fr/inria-00258384Google Scholar
- Khronos Group. 2018. The open standard for parallel programming of heterogeneous systems. Retrieved December 13, 2018 from https://www.khronos.org/opencl/Google Scholar
- Khronos Group. 2018. The OpenGL ES® Shading Language, Version 3.20.4. Retrieved December 13, 2018 from https://www.khronos.org/registry/OpenGL/specs/es/3.2/GLSL_ES_Specification_3.20.pdfGoogle Scholar
- Khronos Group. 2018. OpenGL ES®, Version 3.2. Retrieved December 13, 2018 from https://www.khronos.org/registry/OpenGL/index_es.phpGoogle Scholar
- Andrew Kennedy, Nick Benton, Jonas B.Jensen, and Pierre-Evariste Dagand. 2013. Coq: The World's Best Macro Assembler?. In Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming (PPDP '13). ACM, New York, NY, USA, 13--24. Google ScholarDigital Library
- Xavier Leroy. 2006. Formal Certification of a Compiler Back-end or: Programming a Compiler with a Proof Assistant. In Conference Record of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL '06). ACM, New York, NY, USA, 42--54. Google ScholarDigital Library
- Benjamin C. Pierce. 2018. Software Foundations Volume 2. Retrieved December 13, 2018 from https://softwarefoundations.cis.upenn.edu/plf-current/index.htmlGoogle Scholar
- The Coq Development Team. 2018. The Coq Proof Assistant. Retrieved December 13, 2018 from https://coq.inria.fr/Google Scholar
- Jiawei Wang, Ming Fu, Lei Qiao, and Xinyu Feng. 2017. Formalizing SPARCv8 Instruction Set Architecture in Coq. In Dependable Software Engineering. Theories, Tools, and Applications, Kim Guldstrand Larsen, Oleg Sokolsky, and Ji Wang (Eds.). Springer International Publishing, Cham, 300--316.Google Scholar
Index Terms
- Formalizing GPU Instruction Set Architecture in Coq
Recommendations
Call-by-push-value in Coq: operational, equational, and denotational theory
CPP 2019: Proceedings of the 8th ACM SIGPLAN International Conference on Certified Programs and ProofsCall-by-push-value (CBPV) is an idealised calculus for functional and imperative programming, introduced as a subsuming paradigm for both call-by-value (CBV) and call-by-name (CBN). We formalise weak and strong operational semantics for (effect-free) ...
LOGIC: A Coq Library for Logics
Dependable Software Engineering. Theories, Tools, and ApplicationsAbstractLOGIC is a Coq library for formalizing logic studies, concerning both logics’ applications and logics themselves (meta-theories). For applications, users can port derived rules and efficient proof automation tactics from LOGIC to their own program-...
Formalizing SPARCv8 instruction set architecture in Coq
AbstractThe SPARCv8 instruction set architecture (ISA) has been widely used in various processors for workstations, embedded systems, and space missions. In order to formally verify the correctness of embedded operating systems running on ...
Highlights- Effective computational method to solve high-dimensional time-dependent nonlinear PDEs on tensor manifolds with constant rank.
Comments