Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

OpenABLext: An automatic code generation framework for agent-based simulations on CPU-GPU-FPGA heterogeneous platforms

Journal Article · · Concurrency and Computation. Practice and Experience
DOI:https://doi.org/10.1002/cpe.5807· OSTI ID:1787232
 [1];  [2];  [3];  [4];  [5];  [1]
  1. TUMCREATE, Singapore (Singapore); Technical Univ. of Munich (Germany). Dept. of Informatics
  2. Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States). Computer Science and Mathematics Division
  3. Nanyang Technological Univ. (Singapore). School of Computer Science and Engineering
  4. Univ. of Sheffield (United Kingdom). Dept. of Computer Science
  5. Technical Univ. of Munich (Germany). Dept. of Informatics; Nanyang Technological Univ. (Singapore). School of Computer Science and Engineering

The execution of agent-based simulations (ABSs) on hardware accelerator devices such as graphics processing units (GPUs) has been shown to offer great performance potentials. However, in heterogeneous hardware environments, it can become increasingly difficult to find viable partitions of the simulation and provide implementations for different hardware devices. To automate this process, we present OpenABLext, an extension to OpenABL, a model specification language for ABSs. By providing a device-aware OpenCL backend, OpenABLext enables the co-execution of ABS on heterogeneous hardware platforms consisting of central processing units, GPUs, and field programmable gate arrays (FPGAs).We present a novel online dispatching method that efficiently profiles partitions of the simulation during run-time to optimize the hardware assignment while using the profiling results to advance the simulation itself. In addition, OpenABLext features automated conflict resolution based on user-specified rules, supports graph-based simulation spaces, and utilizes an efficient neighbor search algorithm. We show the improved performance of OpenABLext and demonstrate the potential of FPGAs in the context of ABS. We illustrate how co-execution can be used to further lower execution times. OpenABLext can be seen as an enabler to tap the computing power of heterogeneous hardware platforms for ABS.

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE Office of Science (SC)
Grant/Contract Number:
AC05-00OR22725
OSTI ID:
1787232
Journal Information:
Concurrency and Computation. Practice and Experience, Journal Name: Concurrency and Computation. Practice and Experience Journal Issue: 21 Vol. 32; ISSN 1532-0626
Publisher:
WileyCopyright Statement
Country of Publication:
United States
Language:
English

References (29)

Artificial societies and generative social science journal March 1997
Heterogeneous parallel_for Template for CPU–GPU Chips journal January 2018
Cooperative CPU, GPU, and FPGA heterogeneous execution with EngineCL journal February 2019
A framework for general sparse matrix–matrix multiplication on GPUs and heterogeneous processors journal November 2015
Auto-tuned OpenCL kernel co-execution in OmpSs for heterogeneous systems journal March 2019
Mathematical Games journal October 1970
Tutorial on agent-based modelling and simulation journal September 2010
High performance cellular level agent-based simulation with FLAME for the GPU journal February 2010
Matrix multiplication on heterogeneous platforms journal January 2001
Bridging the FPGA programmability-portability Gap via automatic OpenCL code generation and tuning
  • Krommydas, Konstantinos; Sasanka, Ruchira; Feng, Wu-chun
  • 2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors (ASAP) https://doi.org/10.1109/ASAP.2016.7760796
conference July 2016
Adaptive Partitioning for Iterated Sequences of Irregular OpenCL Kernels conference September 2018
Automatic Command Queue Scheduling for Task-Parallel Workloads in OpenCL conference September 2015
Exploring Execution Schemes for Agent-Based Traffic Simulation on Heterogeneous Hardware conference October 2018
Efficient Neighbor Searching for Agent-Based Simulation on GPU
  • Li, Xiaosong; Cai, Wentong; Turner, Stephen John
  • 2014 IEEE/ACM 18th International Symposium on Distributed Simulation and Real Time Applications (DS-RT) https://doi.org/10.1109/DS-RT.2014.19
conference October 2014
OpenCL Performance Prediction using Architecture-Independent Features conference July 2018
Automatic OpenCL Code Generation for Multi-device Heterogeneous Architectures conference September 2015
OpenACC to FPGA: A Framework for Directive-Based High-Performance Reconfigurable Computing conference May 2016
HeteroMap: A Runtime Performance Predictor for Efficient Processing of Graph Analytics on Heterogeneous Multi-Accelerators conference March 2019
Power analysis of sorting algorithms on FPGA using OpenCL conference June 2018
Modeling Crowd and Trained Leader Behavior during Building Evacuation journal January 2006
A Novel Data-Partitioning Algorithm for Performance Optimization of Data-Parallel Applications on Heterogeneous HPC Platforms journal October 2018
Experiences creating three implementations of the repast agent modeling toolkit journal January 2006
Liszt: a domain specific language for building portable mesh-based PDE solvers
  • DeVito, Zachary; Duraisamy, Karthik; Darve, Eric
  • Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis on - SC '11 https://doi.org/10.1145/2063384.2063396
conference January 2011
A dynamic self-scheduling scheme for heterogeneous multiprocessor architectures journal January 2013
Fluidic Kernels: Cooperative Execution of OpenCL Programs on Multiple Heterogeneous Devices
  • Pandit, Prasanna; Govindarajan, R.
  • CGO '14: 12th Annual IEEE/ACM International Symposium on Code Generation and Optimization, Proceedings of Annual IEEE/ACM International Symposium on Code Generation and Optimization https://doi.org/10.1145/2544137.2544163
conference October 2018
Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages journal April 2014
Evaluation of Conflict Resolution Methods for Agent-Based Simulations on the GPU
  • Yang, Mingyu; Andelfinger, Philipp; Cai, Wentong
  • SIGSIM-PADS '18: SIGSIM Principles of Advanced Discrete Simulation, Proceedings of the 2018 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation https://doi.org/10.1145/3200921.3200940
conference May 2018
A Survey on Agent-based Simulation Using Hardware Accelerators journal February 2019
MASON: A Multiagent Simulation Environment journal July 2005

Similar Records

Population Count on Intel® CPU, GPU, and FPGA
Conference · Tue Dec 31 23:00:00 EST 2019 · OSTI ID:1804082

Evaluation of CHO Benchmarks on the Arria 10 FPGA using Intel FPGA SDK for OpenCL
Technical Report · Tue May 23 00:00:00 EDT 2017 · OSTI ID:1372106

OpenACC to FPGA: A Framework for Directive-based High-Performance Reconfigurable Computing
Conference · Sun May 01 00:00:00 EDT 2016 · OSTI ID:1261388