Ferrell, BenjaminDuan, JunHamlen, Kevin W.2020-03-112020-03-112019-03-259783981926323http://dx.doi.org/10.23919/DATE.2019.8715160https://hdl.handle.net/10735.1/7390Due to copyright restrictions and/or publisher's policy full text access from Treasures at UT Dallas is limited to current UTD affiliates (use the provided Link to Article).A prototype framework for formal, machine-checked validation of GPU pseudo-assembly code algorithms using the Coq proof assistant is presented and discussed. The framework is the first to afford GPU programmers a reliable means of formally machine-validating high-assurance GPU computations without trusting any specific source-to-assembly compilation toolchain. A formal operational semantics for the PTX pseudo-assembly language is expressed as inductive, dependent Coq types, facilitating development of proofs and proof tactics that refer directly to the compiled PTX object code. Challenges modeling PTX's complex and highly parallelized computation model in Coq, with sufficient clarity and generality to tractably prove useful properties of realistic GPU programs, are discussed. Examples demonstrate how the prototype can already be used to validate some realistic programs. © 2019 EDAA.en©2019 EDAAGraphics processing unitsSemanticsAssembly languages (Electronic computers)Theorem provingParallel processing (Electronic computers)CUDA au Coq: A Framework for Machine-Validating GPU Assembly ProgramsarticleFerrell, B., J. Duan, and K. W. Hamlen. 2019. "CUDA au Coq: A Framework for Machine-Validating GPU Assembly Programs." Design, Automation and Test in Europe Conference and Exhibition, 2019: 474-479, doi: 10.23919/DATE.2019.8715160