Please use this identifier to cite or link to this item:
doi:10.22028/D291-38176
Title: | An abstract interpretation for SPMD divergence on reducible control flow graphs |
Author(s): | Rosemann, Julian Moll, Simon Hack, Sebastian |
Language: | English |
Title: | Proceedings of the ACM on Programming Languages |
Volume: | 5 |
Issue: | POPL |
Pages: | 1-31 |
Publisher/Platform: | Association for Computing Machinery |
Year of Publication: | 2021 |
Free key words: | Divergence Analysis Vectorization Binding Time Hyper-Property Dependence Non-Interference Abstract Interpretation |
DDC notations: | 004 Computer science, internet |
Publikation type: | Conference Paper |
Abstract: | Vectorizing compilers employ divergence analysis to detect at which program point a specific variable is uniform, i.e. has the same value on all SPMD threads that execute this program point. They exploit uniformity to retain branching to counter branch divergence and defer computations to scalar processor units. Divergence is a hyper-property and is closely related to non-interference and binding time. There exist several divergence, binding time, and non-interference analyses already but they either sacrifice precision or make significant restrictions to the syntactical structure of the program in order to achieve soundness. In this paper, we present the first abstract interpretation for uniformity that is general enough to be applicable to reducible CFGs and, at the same time, more precise than other analyses that achieve at least the same generality. Our analysis comes with a correctness proof that is to a large part mechanized in Coq. Our experimental evaluation shows that the compile time and the precision of our analysis is on par with LLVM’s default divergence analysis that is only sound on more restricted CFGs. At the same time, our analysis is faster and achieves better precision than a state-of-the-art non-interference analysis that is sound and at least as general as our analysis. |
DOI of the first publication: | 10.1145/3434312 |
URL of the first publication: | https://dl.acm.org/doi/10.1145/3434312 |
Link to this record: | urn:nbn:de:bsz:291--ds-381760 hdl:20.500.11880/34467 http://dx.doi.org/10.22028/D291-38176 |
ISSN: | 2475-1421 |
Date of registration: | 23-Nov-2022 |
Description of the related object: | Supplemental Material |
Related object: | https://dl.acm.org/action/downloadSupplement?doi=10.1145%2F3434312&file=popl21main-p206-p-archive.zip |
Notes: | Proceedings of the ACM on Programming Languages 2021, 5(POPL), 31 |
Faculty: | MI - Fakultät für Mathematik und Informatik |
Department: | MI - Informatik |
Professorship: | MI - Prof. Dr. Sebastian Hack |
Collections: | SciDok - Der Wissenschaftsserver der Universität des Saarlandes |
Files for this record:
File | Description | Size | Format | |
---|---|---|---|---|
3434312.pdf | 369,99 kB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License