Abstract
General-Purpose Computing on Graphics Units (GPGPU) is today recognized as a practical and efficient way of accelerating software procedures that require a lot of computing resources. However, using this technology in the context of Multi-Agent Based Simulation (MABS) appears to be difficult because GPGPU relies on a very specific programming approach for which MABS models are not naturally adapted. This paper discusses practical results from several works we have done on adapting and developing different MABS models using GPU programming. Especially, studying how GPGPU could be used in the scope of MABS, our main motivation is not only to speed up MABS but also to provide the MABS community with a general approach to GPU programming, which could be used on a wide variety of agent-based models. So, this paper first summarizes all the use cases that we have considered so far and then focuses on identifying which parts of the development process could be generalized.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
Compute Unified Device Architecture, https://developer.nvidia.com/what-cuda.
- 3.
Open Computing Language, http://www.khronos.org/opencl.
- 4.
See http://www.lirmm.fr/~fmichel/mle for some videos of this experiment.
- 5.
In all these experiments, the environment is as a 2D square grid discretized in cells.
- 6.
- 7.
Detailed descriptions and computation kernels are available online: http://www.lirmm.fr/~hermellin/Website/GPGPU_MABS_Methodology.html.
References
Weyns, D., Michel, F. (eds.): E4MAS 2014. LNCS (LNAI), vol. 9068. Springer, Heidelberg (2015)
Badeig, F., Balbo, F., Pinson, S.: A contextual environment approach for multi-agent-based simulation. In: ICAART 2010, 2nd International Conference on Agents and Artificial Intelligence, pp. 212–217, Spain, June 2010
Beurier, G., Simonin, O., Ferber, J.: Model and simulation of multi-level emergence. In: ISSPIT 2002, April 2008
Bleiweiss, A.: Multi agent navigation on the GPU. In: Games Developpement Conference (2009)
Bourgoin, M., Chailloux, E., Lamotte, J.-L.: Efficient abstractions for GPGPU programming. Int. J. Parallel Program. 42(4), 583–600 (2014)
Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Skadron, K.: A performance study of general-purpose applications on graphics processors using CUDA. J. Parallel Distrib. Comput. 68(10), 1370–1380 (2008)
D’Souza, R.M., Lysenko, M., Rahmani, K.: SugarScape on steroids: simulating over a million agents atinteractive rates. In: Proceedings of Agent 2007 Conference (2007)
Erra, U., Frola, B., Scarano, V., Couzin, I.: An efficient GPU implementation for large scale individual-based simulation of collective behavior. High Perform. Comput. Syst. Biol. 2009, 51–58 (2009)
Hermellin, E., Michel, F.: GPU environmental delegation of agent perceptions: application to reynolds’ s boids. In: Gaudou, B., et al. (eds.) MABS 2015. LNCS, vol. 9568, pp. 71–86. Springer, Heidelberg (2016)
Hermellin, E., Michel, F.: Toward a methodology for developing MABS using GPU programming. In: Proceedings of the International Conference on Autonomous Agents and Multiagent Systems, AAMAS, Singapore (2016)
Kubera, Y., Mathieu, P., Picault, S.: IODA: an interaction-oriented approach for multi-agent based simulations. Auton. Agent Multi-Agent Syst. 23(3), 303–343 (2011)
Laville, G., Mazouzi, K., Lang, C., Marilleau, N., Herrmann, B., Philippe, L.: MCMAS: A toolkit to benefit from many-core architecure in agent-based simulation. In: an Mey, D., et al. (eds.) Euro-Par 2013. LNCS, vol. 8374, pp. 544–554. Springer, Heidelberg (2014)
Laville, G., Mazouzi, K., Lang, C., Marilleau, N., Philippe, L.: Using GPU for multi-agent multi-scale simulations. In: Omatu, S., Paz Santana, J.F., González, S.R., Molina, J.M., Bernardos, A.M., Rodríguez, J.M.C. (eds.) Distributed Computing and Artificial Intelligence. AISC, vol. 151, pp. 197–204. Springer, Heidelberg (2012)
Michel, F.: Translating agent perception computations into environmental processes in multi-agent-based simulations: a means for integrating graphics processing unit programming within usual agent-based simulation platforms. Syst. Res. Behav. Sci. 30(6), 703–715 (2013)
Michel, F., Ferber, J., Drogoul, A.: Multi-agent systems and simulation: a survey from theagents community’s perspective. In: Uhrmacher, A., Weyns, D., (eds.) Multi-Agent Systems: Simulation and Applications, Computational Analysis, Synthesis, and Design of Dynamic Systems, pp. 3–52. CRC Press - Taylor & Francis, June 2009
Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Kruger, J., Lefohn, A.E., Purcell, T.J.: A survey of general-purpose computation on graphics hardware. Comput. Graph. Forum 26(1), 80–113 (2007)
Parry, H., Bithell, M.: Large scale agent-based modelling: a review and guidelines for model scaling. In: Heppenstall, A.J., Crooks, A.T., See, L.M., Batty, M. (eds.) Agent-Based Models of Geographical Systems, pp. 271–308. Springer, Heidelberg (2012)
Pavlov, R., Müller, J.P.: Multi-agent systems meet GPU: deploying agent-based architectures on graphics processors. In: Camarinha-Matos, L.M., Tomic, S., Graça, P. (eds.) DoCEIS 2013. IFIP AICT, vol. 394, pp. 115–122. Springer, Heidelberg (2013)
Payet, D., Courdier, R., Sébastien, N., Ralambondrainy, T.: Environment as support for simplification, reuse and integration of processes in spatial MAS. In: Proceedings of the 2006 IEEE International Conference on Information Reuse and Integration - Heuristic Systems Engineering, 16–18 September, Waikoloa, Hawaii, USA, pp. 127–131. IEEE Systems, Man, and Cybernetics Society (2006)
Perumalla, K.S., Aaby, B.G.: Data parallel execution challenges and runtime performance of agent simulations on GPUs. In: Proceedings of the 2008 Spring Simulation Multiconference, pp. 116–123 (2008)
Ricci, A., Piunti, M., Viroli, M.: Environment programming in multi-agent systems: an artifact-based perspective. Auton. Agent Multi-Agent Syst. 23(2), 158–192 (2011)
Richmond, P., Coakley, S., Romano, D.M.: A high performance agent based modelling framework on graphics card hardware with CUDA. In: Proceedings of The 8th International Conference on Autonomous Agents and Multiagent Systems, AAMAS 2009, vol. 2, pp. 1125–1126. International Foundation for Autonomous Agents and Multiagent Systems, Richland, SC (2009)
Richmond, P., Romano, D.M.: Agent based GPU, a real-time 3d simulation and interactive visualisation framework for massive agent based modelling on the GPU. In: Proceedings International Workshop on Super Visualisation, IWSV 2008 (2008)
Richmond, P., Romano, D.M.: A high performance framework for agent based pedestrian dynamics on GPU hardware. In: European Simulation and Modelling (2011)
Richmond, P., Walker, D., Coakley, S., Romano, D.M.: High performance cellular level agent-based simulation with FLAME for the GPU. Briefings Bioinform. 11(3), 334–347 (2010)
Sklar, E.: NetLogo, a multi-agent simulation environment. Artif. Life 13(3), 303–311 (2007)
Strippgen, D., Nagel, K.: Multi-agent traffic simulation with CUDA. In: High Performance Computing Simulation, HPCS 2009, pp. 106–114, June 2009
Weyns, D., Van Dyke Parunak, H., Michel, F., Holvoet, T., Ferber, J.: Environments for multiagent systems state-of-the-art and research challenges. In: Weyns, D., Van Dyke Parunak, H., Michel, F. (eds.) E4MAS 2004. LNCS (LNAI), vol. 3374, pp. 1–47. Springer, Heidelberg (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Hermellin, E., Michel, F. (2016). Overview of Case Studies on Adapting MABS Models to GPU Programming. In: Bajo, J., et al. Highlights of Practical Applications of Scalable Multi-Agent Systems. The PAAMS Collection. PAAMS 2016. Communications in Computer and Information Science, vol 616. Springer, Cham. https://doi.org/10.1007/978-3-319-39387-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-319-39387-2_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-39386-5
Online ISBN: 978-3-319-39387-2
eBook Packages: Computer ScienceComputer Science (R0)