Fast and Generalized Polynomial Time Memory Consistency Verification
Amitabha Roy, Stephan Zeisset, Charles J. Fleckenstein, John C. Huang
Abstract
The problem of verifying multi-threaded execution against the memory consistency model of a processor is known to be an NP hard problem. However polynomial time algorithms exist that detect almost all failures in such execution. These are often used in practice for microprocessor verification. We present a low complexity and fully parallelized algorithm to check program execution against the processor consistency model. In addition our algorithm is general enough to support a number of consistency models without any degradation in performance. An implementation of this algorithm is currently used in practice to verify processors in the post silicon stage for multiple architectures.
Create a lesson
Related papers
LLMs in Digital EDA: A perspective on shifting roles from Generation to Orchestration
Matthew Youngman, Cristian Sestito, Themis Prodromakis
HOLMES: In-Context Failure-Center Localization for High-Dimensional Yield Estimation
Wei W. Xing, Xixi Zhou, Kaiqi Huang et al.
Redwood: A Frontier AI Accelerator Designed, Verified, and Deployed from Scratch in 2 Weeks by AI
Architect Labs
Beyond Edge Cuts: Activity-Weighted Multicast Hypergraph Mapping for Spiking Neural Networks on Mesh NoCs
Amirreza Khorasanian
MeshReduce-U: Compiler-Guided Communication Reduction for Irregular Neural Reductions on Mesh NoCs
Amirreza Khorasanian
Ankhdjet: An Open-Source Compiler for Mask-Programmed Ternary Compute-in-ROM on an Open PDK
Mohnish Pai