SPADES (Scalable Parallel Discrete Events Simulation) [SWR-24-99]

RESOURCE

Abstract

SPADES (Solver for PArallel Discrete Event Simulation) is an open-source parallel discrete event simulation (PDES) package built on the AMReX library. Targeted at solving discrete event systems in parallel, this software package aims to be performance portable and scalable on heterogeneous computing architectures, e.g., graphic processing units (GPU). SPADES implements optimistic synchronization with rollback through an implementation of the Time Warp algorithm. An alternative conservative synchronization approach is also implemented using the Lower Bound on Incoming Time Stamp. In our implementation, logical processes are represented as cells in a grid and event messages are represented as particles. SPADES supports various parallel decomposition strategies, including the use of the Message Passing Interface (MPI) and OpenMP threading. All major GPU architectures (e.g., Intel, AMD, NVIDIA) are supported through the use of performance portability functionalities implemented in AMReX. The SPADES software is released in NREL Software Record SWR-24-99 “SPADES (Scalable Parallel Discrete Events Simulation)”.
Developers:
Release Date:
2025-07-17
Project Type:
Open Source, Publicly Available Repository
Software Type:
Scientific
Programming Languages:
Bourne shell
C++
Python
CMake
Licenses:
Apache License 2.0
Sponsoring Org.:
Code ID:
162638
Site Accession Number:
NREL SWR-24-99
Research Org.:
National Renewable Energy Laboratory (NREL), Golden, CO (United States)
Country of Origin:
United States

RESOURCE

Citation Formats

Henry de Frahan, Marc, Young, Ethan, Sitaraman, Hariswaran, Larsen, Ross, and Vaidhynathan, Deepthi. SPADES (Scalable Parallel Discrete Events Simulation) [SWR-24-99]. Computer Software. https://github.com/NREL/spades. USDOE Laboratory Directed Research and Development (LDRD) Program. 17 Jul. 2025. Web. doi:10.11578/dc.20250905.4.
Henry de Frahan, Marc, Young, Ethan, Sitaraman, Hariswaran, Larsen, Ross, & Vaidhynathan, Deepthi. (2025, July 17). SPADES (Scalable Parallel Discrete Events Simulation) [SWR-24-99]. [Computer software]. https://github.com/NREL/spades. https://doi.org/10.11578/dc.20250905.4.
Henry de Frahan, Marc, Young, Ethan, Sitaraman, Hariswaran, Larsen, Ross, and Vaidhynathan, Deepthi. "SPADES (Scalable Parallel Discrete Events Simulation) [SWR-24-99]." Computer software. July 17, 2025. https://github.com/NREL/spades. https://doi.org/10.11578/dc.20250905.4.
@misc{ doecode_162638,
title = {SPADES (Scalable Parallel Discrete Events Simulation) [SWR-24-99]},
author = {Henry de Frahan, Marc and Young, Ethan and Sitaraman, Hariswaran and Larsen, Ross and Vaidhynathan, Deepthi},
abstractNote = {SPADES (Solver for PArallel Discrete Event Simulation) is an open-source parallel discrete event simulation (PDES) package built on the AMReX library. Targeted at solving discrete event systems in parallel, this software package aims to be performance portable and scalable on heterogeneous computing architectures, e.g., graphic processing units (GPU). SPADES implements optimistic synchronization with rollback through an implementation of the Time Warp algorithm. An alternative conservative synchronization approach is also implemented using the Lower Bound on Incoming Time Stamp. In our implementation, logical processes are represented as cells in a grid and event messages are represented as particles. SPADES supports various parallel decomposition strategies, including the use of the Message Passing Interface (MPI) and OpenMP threading. All major GPU architectures (e.g., Intel, AMD, NVIDIA) are supported through the use of performance portability functionalities implemented in AMReX. The SPADES software is released in NREL Software Record SWR-24-99 “SPADES (Scalable Parallel Discrete Events Simulation)”.},
doi = {10.11578/dc.20250905.4},
url = {https://doi.org/10.11578/dc.20250905.4},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20250905.4}},
year = {2025},
month = {jul}
}