Olivier Giroux

dblp:02/6625 · DBLP profile ↗
← Back
5ranked-venue papers
1as first author
1since 2021 · last 2022
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 1 first-author · 1 since 2021Systems, architecture and hardware · 4 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
GPUs and heterogeneous computing · 56% Memory systems · 36% Hardware accelerators and domain-specific architectures · 5%
Software engineering, system software, and programming languages
3 papers
Software testing · 66% Program verification · 22% Software maintenance and evolution · 12%

Topics — the 8 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems › memory consistency
memory consistency model
1.232022
Mixed-proxy extensions for the NVIDIA PTX memory consistency model: industrial product · ISCA 2022
A Formal Analysis of the NVIDIA PTX Memory Consistency Model · ASPLOS 2019
Automated Synthesis of Comprehensive Memory Model Litmus Test Suites · ASPLOS 2017
GPUs and heterogeneous computing › GPU memory
GPU memory consistency
1.022022
Mixed-proxy extensions for the NVIDIA PTX memory consistency model: industrial product · ISCA 2022
A Formal Analysis of the NVIDIA PTX Memory Consistency Model · ASPLOS 2019
GPUs and heterogeneous computing › GPU memory
GPU memory model
0.612022
Mixed-proxy extensions for the NVIDIA PTX memory consistency model: industrial product · ISCA 2022
GPUs and heterogeneous computing
GPU programming
0.412019
A Formal Analysis of the NVIDIA PTX Memory Consistency Model · ASPLOS 2019
Software testing › test generation
automated test generation
0.312017
Automated Synthesis of Comprehensive Memory Model Litmus Test Suites · ASPLOS 2017
Hardware accelerators and domain-specific architectures
tensor accelerator
0.212022
Mixed-proxy extensions for the NVIDIA PTX memory consistency model: industrial product · ISCA 2022
Program verification › formal proof
mechanized proof
0.112019
A Formal Analysis of the NVIDIA PTX Memory Consistency Model · ASPLOS 2019
Software testing
regression testing
0.112006
Detecting increases in feature coupling using regression tests · SIGSOFT FSE 2006

Methods — techniques the papers use, named apart from their topics

coq · 0.8axiomatic modeling · 0.8alloy · 0.8randomization · 0.6black-box testing · 0.6regression testing · 0.1coupling detection · 0.1
YearPublicationVenuePosition
2022 Mixed-proxy extensions for the NVIDIA PTX memory consistency model: industrial product
abstract
In recent years, there has been a trend towards the use of accelerators and architectural specialization to continue scaling performance in spite of a slowing of Moore's Law. GPUs have always relied on dedicated hardware for graphics workloads, but modern GPUs now also incorporate compute-domain accelerators such as NVIDIA's Tensor Cores for machine learning. For these accelerators to be successfully integrated into a general-purpose programming language such as C++ or CUDA, there must be a forward- and backward-compatible API for the functionality they provide. To the extent that all of these accelerators interact with program threads through memory, they should be incorporated into the GPU's memory consistency model. Unfortunately, the use of accelerators and/or special non-coherent paths into memory produces non-standard memory behavior that existing GPU memory models cannot capture.
Daniel Lustig, Simon Cooksey, Olivier Giroux
ISCA3
2020 Speculative reconvergence for improved SIMT efficiency
abstract
GPUs perform most efficiently when all threads in a warp execute the same sequence of instructions convergently. However, when threads in a warp encounter a divergent branch, the hardware serializes the execution of diverged paths. We consider a class of convergence opportunities wherein multiple threads are expected to eventually execute a given segment of code, but not all threads arrive at the same time, resulting in serialized duplicate execution of common code subsequences such as function calls and loop bodies. Our goal is to promote convergence by helping threads that execute common code arrive together before allowing execution to proceed. We propose a new user-guided compiler mechanism, Speculative Reconvergence, to help identify and exploit previously untapped convergence opportunities that increase SIMT efficiency and improve performance. For the set of workloads we study, we see improvements ranging from 10% to 3× in both SIMT efficiency and in performance.
Sana Damani, Daniel R. Johnson, Mark Stephenson, Stephen W. Keckler, Eddie Q. Yan, Michael McKeown, Olivier Giroux
CGO7
2019 A Formal Analysis of the NVIDIA PTX Memory Consistency Model
abstract
This paper presents the first formal analysis of the official memory consistency model for the NVIDIA PTX virtual ISA. Like other GPU memory models, the PTX memory model is weakly ordered but provides scoped synchronization primitives that enable GPU program threads to communicate through memory. However, unlike some competing GPU memory models, PTX does not require data race freedom, and this results in PTX using a fundamentally different (and more complicated) set of rules in its memory model. As such, PTX has a clear need for a rigorous and reliable memory model testing and analysis infrastructure. We break our formal analysis of the PTX memory model into multiple steps that collectively demonstrate its rigor and validity. First, we adapt the English language specification from the public PTX documentation into a formal axiomatic model. Second, we derive an up-to-date presentation of an OpenCL-like scoped C++ model and develop a mapping from the synchronization primitives of that scoped C++ model onto PTX. Third, we use the Alloy relational modeling tool to empirically test the correctness of the mapping. Finally, we compile the model and mapping into Coq and build a full machine-checked proof that the mapping is sound for programs of any size. Our analysis demonstrates that in spite of issues in previous generations, the new NVIDIA PTX memory model is suitable as a sound compilation target for GPU programming languages such as CUDA.
Daniel Lustig, Sameer D. Sahasrabuddhe, Olivier Giroux
ASPLOS3
2017 Automated Synthesis of Comprehensive Memory Model Litmus Test Suites
abstract
The memory consistency model is a fundamental part of any shared memory architecture or programming model. Modern weak memory models are notoriously difficult to define and to implement correctly. Most real-world programming languages, compilers, and (micro)architectures therefore rely heavily on black-box testing methodologies. The success of such techniques requires that the suite of litmus tests used to perform the testing be comprehensive--it should ideally stress all obscure corner cases of the model and of its implementation. Most litmus test suites today are generated from some combination of manual effort and randomization; however, the complex and subtle nature of contemporary memory models means that manual effort is both error-prone and subject to incomplete coverage.
Daniel Lustig, Andrew Wright, Alexandros Papakonstantinou, Olivier Giroux
ASPLOS4
2006 Detecting increases in feature coupling using regression tests
abstract
Repeated changes to a software system can introduce small weaknesses such as unplanned dependencies between different parts of the system. While such problems usually go undetected, their cumulative effect can result in a noticeable decrease in the quality of a system. We present an approach to warn developers about increased coupling between the (potentially scattered) implementation of different features. Our automated approach can detect sections of the source code contributing to the increased coupling as soon as software changes are tested. Developers can then inspect the results to assess whether the quality of their changes is adequate. We have implemented our approach for C++ and integrated it with the development process of a proprietary 3D graphics software. We report on our evaluation of the approach in the field, and on a study showing that, for files in the target system, causing increases in feature coupling is a significant predictor of future modifications due to bug fixes.
Olivier Giroux, Martin P. Robillard
SIGSOFT FSE1