Formal Methods for High Integrity GPU Software Development and Verification

Uložené v:
Podrobná bibliografia
Názov: Formal Methods for High Integrity GPU Software Development and Verification
Autori: Aspetakis, Dimitrios, Trompouki, Matina Maria, Kosmidis, Leonidas, Ruiz, Jose, Marosy, Gabor
Zdroj: UPCommons. Portal del coneixement obert de la UPC
Universitat Politècnica de Catalunya (UPC)
Informácie o vydavateľovi: IEEE, 2024.
Rok vydania: 2024
Predmety: Formal verification, Àrees temàtiques de la UPC::Informàtica::Enginyeria del software, Ada SPARK, Embedded GPGPUs, Safety critical systems
Popis: Modern safety critical systems require high levels of performance for advanced functionalities, which are not possible with the simple conventional architectures currently used in them. Embedded General Purpose Graphics Processing Units (GPG-PUs) are among the hardware technologies which can provide the high performance required in these domains. However, their massively parallel nature complicates the verification of their software and increases its cost because it usually involves code coverage through extensive human-driven testing. The Ada SPARK language has traditionally been used in highly-critical environments for its formal verification capabilities and powerful type system. The use of such tools which are backed up by theorem provers, has significantly lowered the amount of effort needed to validate functionality of safety-critical systems. In this European Space Agency (ESA) funded project, we utilize AdaCore's CUDA backend for Ada in conjunction with the SPARK language subset to assess the state of static verification for GPU kernels. We assess the error detection capabilities of the available tools and we formulate a methodology to maximise their effectiveness. Moreover, our project results using ESA's open source GPU4S Benchmarking suite show that common programming mistakes in GPU software development can be prevented.
This work was funded by the European Space Agency (ESA) activity ”Formal Methods for GPU Software Development and Verification” (ESA STAR AO 2- 1856/22/NL/GLC/ov). The authors thank AdaCore for donation of a license and early access to Ada’s CUDA backend compiler along with their verification toolchain, as well as invaluable technical support. This work was also partially supported by the Spanish Ministry of Economy and Competitiveness under grants PID2019-107255GBC21 and IJC-2020-045931-I ( Spanish State Research Agency / Agencia Española de Investigación (AEI) / http://dx.doi.org/10.13039/501100011033 ) and by the Department of Research and Universities of the Government of Catalonia with a grant to the CAOS Research Group (Code: 2021 SGR 00637).
Druh dokumentu: Article
Conference object
Popis súboru: application/pdf
DOI: 10.23919/date58400.2024.10546867
Rights: STM Policy #29
Prístupové číslo: edsair.doi.dedup.....0d60bc4e3142591b01b823b98ec8d297
Databáza: OpenAIRE
Popis
Abstrakt:Modern safety critical systems require high levels of performance for advanced functionalities, which are not possible with the simple conventional architectures currently used in them. Embedded General Purpose Graphics Processing Units (GPG-PUs) are among the hardware technologies which can provide the high performance required in these domains. However, their massively parallel nature complicates the verification of their software and increases its cost because it usually involves code coverage through extensive human-driven testing. The Ada SPARK language has traditionally been used in highly-critical environments for its formal verification capabilities and powerful type system. The use of such tools which are backed up by theorem provers, has significantly lowered the amount of effort needed to validate functionality of safety-critical systems. In this European Space Agency (ESA) funded project, we utilize AdaCore's CUDA backend for Ada in conjunction with the SPARK language subset to assess the state of static verification for GPU kernels. We assess the error detection capabilities of the available tools and we formulate a methodology to maximise their effectiveness. Moreover, our project results using ESA's open source GPU4S Benchmarking suite show that common programming mistakes in GPU software development can be prevented.<br />This work was funded by the European Space Agency (ESA) activity ”Formal Methods for GPU Software Development and Verification” (ESA STAR AO 2- 1856/22/NL/GLC/ov). The authors thank AdaCore for donation of a license and early access to Ada’s CUDA backend compiler along with their verification toolchain, as well as invaluable technical support. This work was also partially supported by the Spanish Ministry of Economy and Competitiveness under grants PID2019-107255GBC21 and IJC-2020-045931-I ( Spanish State Research Agency / Agencia Española de Investigación (AEI) / http://dx.doi.org/10.13039/501100011033 ) and by the Department of Research and Universities of the Government of Catalonia with a grant to the CAOS Research Group (Code: 2021 SGR 00637).
DOI:10.23919/date58400.2024.10546867