TY - GEN
T1 - Advancing Automatic Code Generation for Agent-Based Simulations on Heterogeneous Hardware
AU - Xiao, Jiajian
AU - Andelfinger, Philipp
AU - Cai, Wentong
AU - Richmond, Paul
AU - Knoll, Alois
AU - Eckhoff, David
N1 - Publisher Copyright:
© 2020, Springer Nature Switzerland AG.
PY - 2020
Y1 - 2020
N2 - The performance of agent-based simulations has been shown to benefit immensely from execution on hardware accelerator devices such as graphics processing units (GPUs). Given the increasingly heterogeneous hardware platforms available to researchers, it is important to enable modellers to target multiple devices using a single model specification, and to avoid the need for in-depth knowledge of the hardware. Further, key modelling steps such as the definition of the simulation space and the specification of rules to resolve conflicts among agents should be supported in a simple and generic manner, while generating efficient code. To achieve these goals, we extend the OpenABL modelling language and code generation framework by three aspects: firstly, a new OpenCL backend enables the co-execution of arbitrary agent-based models on heterogeneous hardware. Secondly, the OpenABL language is extended to support graph-based simulation spaces. Thirdly, we specify a generic interface for specifying conflict resolution rules. In a performance comparison to the existing OpenABL backends, we show that depending on the simulation model, the opportunity for CPU-GPU co-execution enables a speedup of up to 2.0 over purely GPU-based simulation.
AB - The performance of agent-based simulations has been shown to benefit immensely from execution on hardware accelerator devices such as graphics processing units (GPUs). Given the increasingly heterogeneous hardware platforms available to researchers, it is important to enable modellers to target multiple devices using a single model specification, and to avoid the need for in-depth knowledge of the hardware. Further, key modelling steps such as the definition of the simulation space and the specification of rules to resolve conflicts among agents should be supported in a simple and generic manner, while generating efficient code. To achieve these goals, we extend the OpenABL modelling language and code generation framework by three aspects: firstly, a new OpenCL backend enables the co-execution of arbitrary agent-based models on heterogeneous hardware. Secondly, the OpenABL language is extended to support graph-based simulation spaces. Thirdly, we specify a generic interface for specifying conflict resolution rules. In a performance comparison to the existing OpenABL backends, we show that depending on the simulation model, the opportunity for CPU-GPU co-execution enables a speedup of up to 2.0 over purely GPU-based simulation.
KW - Agent-based simulation
KW - Heterogeneous hardware
KW - OpenABL
KW - OpenCL
KW - Parallel and distributed simulation
UR - http://www.scopus.com/inward/record.url?scp=85086260376&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-48340-1_24
DO - 10.1007/978-3-030-48340-1_24
M3 - Conference contribution
AN - SCOPUS:85086260376
SN - 9783030483395
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 308
EP - 319
BT - Euro-Par 2019
A2 - Schwardmann, Ulrich
A2 - Boehme, Christian
A2 - B. Heras, Dora
A2 - Cardellini, Valeria
A2 - Jeannot, Emmanuel
A2 - Salis, Antonio
A2 - Schifanella, Claudio
A2 - Manumachu, Ravi Reddy
A2 - Schwamborn, Dieter
A2 - Ricci, Laura
A2 - Sangyoon, Oh
A2 - Gruber, Thomas
A2 - Antonelli, Laura
A2 - Scott, Stephen L.
PB - Springer
T2 - 25th International European Conference on Parallel and Distributed Computing, EuroPar 2019
Y2 - 26 August 2019 through 30 August 2019
ER -