OpenABL: A Domain-Specific Language for Parallel and Distributed Agent-Based Simulations
datasetmodified on 2018-08-28, 10:48
OpenABL is a domain-specific language for portable, high-performance, parallel agent modeling.
This code and data artifact includes the source code of the OpenABL programming language, as well as an overview document describing how to build OpenABL and its dependencies, and how to reproduce the results presented in the corresponding Euro-Par 2018 paper.
In particular, automated performance benchmarks of the Flame, FlameGPU, Mason and D-Mason toolkits across six sample applications from different fields can be performed by leveraging the OpenABL code generator.
OpenABL is designed as a portable, efficient and easy-to-use environment for agent-based modeling. It was developed as a tool to support OpenAB communities in addressing the requirement for portable solutions to reproduce simulations on different parallel implementations and hardware platforms. OpenABL was designed to compile to multiple backends targeting different computing architectures, including single CPUs,
GPUs and clusters.
The dataset consists of a single .zip archive file containing:
/test - script files to execute test simulations .exp and .abl
/src - source code files in C++ language .cpp and .hpp formats
/bench - benchmark files in Python language .py format
/deps - Makefile for various simulation environments and libraries described in the related Euro-Par 2018 submission
/examples - input .abl files for six experimental agent-based models from different domains described in the related Euro-Par 2018 publication
/asset - auxiliary library and build files used during code-generation, in bash script .sh, Java .java and C .h and .c formats
For further detail see the README and artifact overview files in this dataset and the related Euro-Par 2018 publication.