Intégration du calcul sur GPU dans la plate-forme de simulation multi-agent générique TurtleKit 3
La simulation multi-agent de systèmes complexes peut nécessiter de considérer un grand
nombre d'entités, ce qui pose des problèmes de performance et de passage à l'échelle. Dans ce cadre, la programmation sur carte graphique (General-Purpose Computing on Graphics Processing
Units GPGPU) est une solution attrayante : elle permet des gains de performances très conséquents sur des ordinateurs personnels. Le GPGPU nécessite cependant une programmation extrêmement spécifique et cette spécificité limite à la fois son accessibilité et la possibilité de réutiliser les développements qui sont réalisés par différents acteurs. Nous présentons ici l'approche que nous avons utilisée pour intégrer du calcul sur GPU dans la plateforme TurtleKit. L'objectif de cette approche est de conserver l'accessibilité de la plate-forme, en termes de simplicité de programmation, tout en tirant parti des avantages offerts par le GPGPU. Nous montrons ensuite que cette approche peut être généralisée sous la forme d'un principe de conception de SMA spécifiquement dédié au contexte GPGPU.
Simulating complex systems may require to
handle a huge number of entities, raising scalability
issues. In this respect, GPGPU is a relevant
approach. However, GPU programming
is a very specific approach that limits both accessibility
and re-usability of developed frameworks.
We here present our approach for integrating
GPU in TurtleKit, a multi-agent based
simulation platform. Especially, we show how
we keep the programming accessibility while
gaining advantages of the GPU power. The paper
also presents how this approach could be
generalized and proposes a MABS design guideline
dedicated to the GPU context.