SPADES (Scalable Parallel Discrete Events Simulation) [SWR-24-99]
- National Renewable Energy Laboratory (NREL), Golden, CO (United States)
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)”.
- Short Name / Acronym:
- SPADES
- Site Accession Number:
- NREL SWR-24-99
- Software Type:
- Scientific
- License(s):
- Apache License 2.0
- Programming Language(s):
- Bourne shell; C++; Python; CMake
- Research Organization:
- National Renewable Energy Laboratory (NREL), Golden, CO (United States)
- Sponsoring Organization:
- USDOE Laboratory Directed Research and Development (LDRD) ProgramPrimary Award/Contract Number:AC36-08GO28308
- DOE Contract Number:
- AC36-08GO28308
- Code ID:
- 162638
- OSTI ID:
- code-162638
- Country of Origin:
- United States
Similar Records
HOMMEXX 1.0: A Performance Portable Atmospheric Dynamical Core for the Energy Exascale Earth System Model
Parallelizing the Unpacking and Clustering of Detector Data for Reconstruction of Charged Particle Tracks on Multi-core CPUs and Many-core GPUs