Vijay Nagarajan
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Previous Organizations / Institutes
The organizations / institutes from the scholar's other articles in the past ten years
Research Subjects
Vijay Nagarajan has a total of 34 co-authors. Here are the top co-authors by number of shared publications:
- Andrés Goens
TU Darmstadt, Darmstadt, Germany
6 shared publications - Daniel J. Sorin
Duke University
4 shared publications - Ryan Stutsman
University of Utah, Salt Lake City, USA
4 shared publications - An Qi Zhang
University of Utah, Salt Lake City, USA
3 shared publications - Nicolai Oswald
NVIDIA, Santa Clara, USA
3 shared publications - Soham Chakraborty
TU Delft, Delft, Netherlands
3 shared publications
Latest Publications
- Open Access
- 10 April 2027
- Published by Association for Computing Machinery (ACM)
- p. 103-119
Beyond the Fence: Sound Compilation for GPU and Heterogeneous CPU+GPU Systems
- 10 April 2027
- Published by Association for Computing Machinery (ACM)
- p. 103-119
Open AccessBeyond the Fence: Sound Compilation for GPU and Heterogeneous CPU+GPU Systems
- Open Access
- 10 April 2027
- Published by Association for Computing Machinery (ACM)
- p. 449-465
Formalizing the User-Kernel Shared-Memory Boundary: The C/LKMM Compound Model
- 10 April 2027
- Published by Association for Computing Machinery (ACM)
- p. 449-465
Open AccessFormalizing the User-Kernel Shared-Memory Boundary: The C/LKMM Compound Model
- Open Access
- 11 June 2026
- Published by Association for Computing Machinery (ACM)
- p. 66-79
Consistency and Coherence of the NVIDIA Grace-Hopper Superchip
- 11 June 2026
- Published by Association for Computing Machinery (ACM)
- p. 66-79
Open AccessConsistency and Coherence of the NVIDIA Grace-Hopper Superchip
- Open Access
- 8 June 2026
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 10 (PLDI) , 2573-2597
A Formally Verified Foundation for Compositional Heterogeneous Coherence
Modern processors integrate heterogeneous devices to expose unified shared memory. Yet, the de-facto design pattern used to compose their disparate coherence protocols lacks a formal foundation. This leaves the door open for subtle consistency bugs, in a critical gap between practice and correctness. This paper provides the first formal, machine-checked proof that a de-facto design pattern, which we call the Principle of Synchronous Propagation, is correct. Leveraging a new unifying abstraction for coherence protocols, our central theorem (machine checked in Lean) proves that Synchronous Propagation is sufficient to guarantee the Compound Memory Consistency Model for a wide class of protocols. Our work provides long-needed assurance for current designs and delivers a reusable, compositional framework for verifying future heterogeneous systems.
- 8 June 2026
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 10 (PLDI) , 2573-2597
Open AccessA Formally Verified Foundation for Compositional Heterogeneous Coherence
Modern processors integrate heterogeneous devices to expose unified shared memory. Yet, the de-facto design pattern used to compose their disparate coherence protocols lacks a formal foundation. This leaves the door open for subtle consistency bugs, in a critical gap between practice and correctness. This paper provides the first formal, machine-checked proof that a de-facto design pattern, which we call the Principle of Synchronous Propagation, is correct. Leveraging a new unifying abstraction for coherence protocols, our central theorem (machine checked in Lean) proves that Synchronous Propagation is sufficient to guarantee the Compound Memory Consistency Model for a wide class of protocols. Our work provides long-needed assurance for current designs and delivers a reusable, compositional framework for verifying future heterogeneous systems.
- Open Access
- 22 March 2026
- Published by Association for Computing Machinery (ACM)
- p. 647-661
Efficient Remote Memory Ordering for Non-Coherent Systems
- 22 March 2026
- Published by Association for Computing Machinery (ACM)
- p. 647-661
Open AccessEfficient Remote Memory Ordering for Non-Coherent Systems
- 6 October 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Computer Architecture Letters
- Vol. 24 (2) , 305-308
Efficient Deadlock Avoidance by Considering Stalling, Message Dependencies, and Topology
Traditional schemes for avoiding deadlocks compose techniques for both protocol deadlocks (virtual networks) and network deadlocks (virtual channels). Recent work has shown how to use fewer virtual networks by analyzing protocol stalls instead of just considering the longest chain of causally dependent messages. We identify a shortcoming in this work, which can lead to deadlocks, and show that combining stall analysis with analyses of message dependencies and topology can avoid deadlocks while using fewer buffers than the conventional approach.
- 6 October 2025
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Computer Architecture Letters
- Vol. 24 (2) , 305-308
Efficient Deadlock Avoidance by Considering Stalling, Message Dependencies, and Topology
Traditional schemes for avoiding deadlocks compose techniques for both protocol deadlocks (virtual networks) and network deadlocks (virtual channels). Recent work has shown how to use fewer virtual networks by analyzing protocol stalls instead of just considering the longest chain of causally dependent messages. We identify a shortcoming in this work, which can lead to deadlocks, and show that combining stall analysis with analyses of message dependencies and topology can avoid deadlocks while using fewer buffers than the conventional approach.
- Open Access
- 14 May 2025
- Published by Association for Computing Machinery (ACM)
- p. 144-150
Stop Taking the Scenic Route: the Shortest Distance Between the CPU and the NIC is MMIO
- 14 May 2025
- Published by Association for Computing Machinery (ACM)
- p. 144-150
Open AccessStop Taking the Scenic Route: the Shortest Distance Between the CPU and the NIC is MMIO
- Open Access
- 13 October 2024
- Published by Association for Computing Machinery (ACM)
- p. 1-13
PipeGen: Automated Transformation of a Single-Core Pipeline into a Multicore Pipeline for a Given Memory Consistency Model
Designing a pipeline for a multicore processor is difficult. One major challenge is designing it such that the pipeline correctly enforces the intended memory consistency model (MCM). We have developed the PipeGen design automation tool to allow architects to start with a single core pipeline that only enforces single-threaded correctness and automatically transform it to enforce a given MCM. Our key innovation is a set of compiler-like transformations that codify three different ways of enforcing memory ordering at the pipeline. We have validated that PipeGen correctly enforces the ARMv8 and x86TSO MCMs on three distinct pipeline implementations, using litmus tests with the Murphi model checker.
- 13 October 2024
- Published by Association for Computing Machinery (ACM)
- p. 1-13
Open AccessPipeGen: Automated Transformation of a Single-Core Pipeline into a Multicore Pipeline for a Given Memory Consistency Model
Designing a pipeline for a multicore processor is difficult. One major challenge is designing it such that the pipeline correctly enforces the intended memory consistency model (MCM). We have developed the PipeGen design automation tool to allow architects to start with a single core pipeline that only enforces single-threaded correctness and automatically transform it to enforce a given MCM. Our key innovation is a set of compiler-like transformations that codify three different ways of enforcing memory ordering at the pipeline. We have validated that PipeGen correctly enforces the ARMv8 and x86TSO MCMs on three distinct pipeline implementations, using litmus tests with the Murphi model checker.
- Open Access
- 6 June 2023
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 7 (PLDI) , 1145-1168
Compound Memory Models
Today's mobile, desktop, and server processors are heterogeneous, consisting not only of CPUs but also GPUs and other accelerators. Such heterogeneous processors are starting to expose a shared memory interface across these devices.Given that each of these individual devices typically supports a distinct instruction set architecture and a distinct memory consistency model, it is not clear what the memory consistency model of the heterogeneous machine should be. In this paper, we answer this question by formalizing "compound" memory models: we present a compositional operational model describing the resulting model when devices with distinct consistency models are fused together. We instantiate our model with the compound x86TSO/PTX model -- a CPU enforcing x86TSO and a GPU enforcing the PTX model. A key result is that the x86TSO/PTX compound model retains compiler mappings from the language-based (scoped) C memory model. This means that threads mapped to the x86TSO device can continue to use the already proven C-to-x86TSO compiler mapping, and the same for PTX.
- 6 June 2023
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM on Programming Languages
- Vol. 7 (PLDI) , 1145-1168
Open AccessCompound Memory Models
Today's mobile, desktop, and server processors are heterogeneous, consisting not only of CPUs but also GPUs and other accelerators. Such heterogeneous processors are starting to expose a shared memory interface across these devices.Given that each of these individual devices typically supports a distinct instruction set architecture and a distinct memory consistency model, it is not clear what the memory consistency model of the heterogeneous machine should be. In this paper, we answer this question by formalizing "compound" memory models: we present a compositional operational model describing the resulting model when devices with distinct consistency models are fused together. We instantiate our model with the compound x86TSO/PTX model -- a CPU enforcing x86TSO and a GPU enforcing the PTX model. A key result is that the x86TSO/PTX compound model retains compiler mappings from the language-based (scoped) C memory model. This means that threads mapped to the x86TSO device can continue to use the already proven C-to-x86TSO compiler mapping, and the same for PTX.
- 10 May 2023
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Micro
- Vol. 43 (4) , 62-70
HeteroGen: Automatic Synthesis of Heterogeneous Cache Coherence Protocols
We address the two challenges architects face when designing heterogeneous processors with cache-coherent shared memory. First, we introduce HeteroGen, an automated tool for composing clusters of cores, each with its own coherence protocol. Second, we show that the output of HeteroGen conforms to a precisely defined memory consistency model that we call a compound consistency model. We also demonstrate that HeteroGen can correctly fuse a wide range of coherence protocols. Our experiments indicate that protocols generated by HeteroGen perform comparably to a publicly available manually generated heterogeneous protocol.
- 10 May 2023
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Micro
- Vol. 43 (4) , 62-70
HeteroGen: Automatic Synthesis of Heterogeneous Cache Coherence Protocols
We address the two challenges architects face when designing heterogeneous processors with cache-coherent shared memory. First, we introduce HeteroGen, an automated tool for composing clusters of cores, each with its own coherence protocol. Second, we show that the output of HeteroGen conforms to a precisely defined memory consistency model that we call a compound consistency model. We also demonstrate that HeteroGen can correctly fuse a wide range of coherence protocols. Our experiments indicate that protocols generated by HeteroGen perform comparably to a publicly available manually generated heterogeneous protocol.