systèmes multi-agents et calcul haute performance sur gpu€¦ · systemes multi-agents` et calcul...

37
Syst ` emes Multi-Agents et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN ´ equipe SMILE LIRMM - Universit´ e Montpellier II - CNRS - France MIPS - S ´ eminaire logiciels embarqu ´ es 25/11/2014 Fabien MICHEL - LIRMM SMA & GPGPU 1

Upload: others

Post on 22-Jun-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

Systemes Multi-Agents etcalcul haute performance sur GPU

Fabien MICHELEmmanuel HERMELLIN

equipe SMILELIRMM - Universite Montpellier II - CNRS - France

MIPS - Seminaire logiciels embarques25/11/2014

Fabien MICHEL - LIRMM SMA & GPGPU 1

Page 2: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Plan

1 SMA : Systemes Multi-Agents

2 GPGPU : General-Purpose on Graphics Processing Units

3 SMA et GPGPU

Fabien MICHEL - LIRMM SMA & GPGPU 2

Page 3: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

IADExemplesSimulation de SMA

Plan

1 SMA : Systemes Multi-Agents

2 GPGPU : General-Purpose on Graphics Processing Units

3 SMA et GPGPU

Fabien MICHEL - LIRMM SMA & GPGPU 3

Page 4: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

IADExemplesSimulation de SMA

Systemes Multi-Agents (IA Distribuee)

IA “classique” : programmeexpert mais isole

Fabien MICHEL - LIRMM SMA & GPGPU 4

Page 5: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

IADExemplesSimulation de SMA

Systemes Multi-Agents (IA Distribuee)

IA Distribuee : programmes “simples” eninteraction

Fabien MICHEL - LIRMM SMA & GPGPU 5

Page 6: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

IADExemplesSimulation de SMA

Systemes Multi-Agents

Exemples de SMA reels (systemes complexes)

Fabien MICHEL - LIRMM SMA & GPGPU 6

Page 7: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

IADExemplesSimulation de SMA

Simulation de Systemes Multi-Agents

Principes de modelisation

les entites du niveau micro (agents)

l’environnement des agents et sa dynamique

les interactions agent / agent et agent / environnement

Exemple d’application : www.massivesoftware.com

Fabien MICHEL - LIRMM SMA & GPGPU 7

Page 8: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

IADExemplesSimulation de SMA

Simulations multi-agents

Verrou majeur : les besoins en ressource de calcul

passage a l’echelle difficile

expressivite des modeles limitee

interaction temps reel difficile

Solution HPC : utilisation du GPU (Graphical Processing Unit)

peu couteux

disponible sur des PC ordinaires

Fabien MICHEL - LIRMM SMA & GPGPU 8

Page 9: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

IADExemplesSimulation de SMA

Simulations multi-agents

Verrou majeur : les besoins en ressource de calcul

passage a l’echelle difficile

expressivite des modeles limitee

interaction temps reel difficile

Solution HPC : utilisation du GPU (Graphical Processing Unit)

peu couteux

disponible sur des PC ordinaires

Fabien MICHEL - LIRMM SMA & GPGPU 8

Page 10: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Plan

1 SMA : Systemes Multi-Agents

2 GPGPU : General-Purpose on Graphics Processing Units

3 SMA et GPGPU

Fabien MICHEL - LIRMM SMA & GPGPU 9

Page 11: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Specificites des GPU

Fabien MICHEL - LIRMM SMA & GPGPU 10

Page 12: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Performances des GPU

Fabien MICHEL - LIRMM SMA & GPGPU 11

Page 13: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

GPGPU : General-Purpose on Graphics Processing Units

Fabien MICHEL - LIRMM SMA & GPGPU 12

Page 14: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

GPGPU : domaines applicatifs (developer.nvidia.com/about-cuda)

Fabien MICHEL - LIRMM SMA & GPGPU 13

Page 15: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Exemples d’applications embarquees

Fabien MICHEL - LIRMM SMA & GPGPU 14

Page 16: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Programmation GPGPU

Difficultes

Repose sur une architecture tres specialisee

Pas de programmation objet (stream processing paradigm)

=⇒ Necessite des competences avancees

Fabien MICHEL - LIRMM SMA & GPGPU 15

Page 17: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Plan

1 SMA : Systemes Multi-Agents

2 GPGPU : General-Purpose on Graphics Processing Units

3 SMA et GPGPU

Fabien MICHEL - LIRMM SMA & GPGPU 16

Page 18: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Approches existantes[Richmond et al. 10, Demeulemeester et al. 11, D’Souza et al. 08, Silva et al. 10 . . . ]

Sugarscape on steroids [D’Souza et al. 08]2 millions d’agents sur 2560x1024, avec 196 cœurs

Fabien MICHEL - LIRMM SMA & GPGPU 17

Page 19: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Approches existantes[Richmond et al. 10, Demeulemeester et al. 11, D’Souza et al. 08, Silva et al. 10 . . . ]

FLAME GPU framework [Richmond et al. 10]

Fabien MICHEL - LIRMM SMA & GPGPU 18

Page 20: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Tout-sur-GPU : benefices et limitations

Benefices

Tres rapide sur des PCs ordinaires

Scalabilite : permet la simulation de millions d’agents

Limitations des approches Tout-sur-GPU

Traduction de modele OO pour le GPGPU : programmes TREScomplexes, difficiles a faire evoluer et a maintenir.=⇒ (1) limite l’accessibilite et la reutilisabilite=⇒ (2) limite la portee des plates-formes developpees

Fabien MICHEL - LIRMM SMA & GPGPU 19

Page 21: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Tout-sur-GPU : benefices et limitations

Benefices

Tres rapide sur des PCs ordinaires

Scalabilite : permet la simulation de millions d’agents

Limitations des approches Tout-sur-GPU

Traduction de modele OO pour le GPGPU : programmes TREScomplexes, difficiles a faire evoluer et a maintenir.=⇒ (1) limite l’accessibilite et la reutilisabilite=⇒ (2) limite la portee des plates-formes developpees

Fabien MICHEL - LIRMM SMA & GPGPU 19

Page 22: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Approches hybrides

Fabien MICHEL - LIRMM SMA & GPGPU 20

Page 23: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Integration du GPGPU dans TurtleKit 3 www.turtlekit.org

Objectifs TurtleKit

(1) Scalabilite grace au GPU=⇒ populations et environnements plus grands

(2) Conserver l’accessibilite de la plate-forme=⇒ garder un modele oriente objet=⇒ Pas de Tout-sur-GPU ⇒ integration incrementale

Fabien MICHEL - LIRMM SMA & GPGPU 21

Page 24: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Integration du GPGPU dans TurtleKit 3 www.turtlekit.org

Objectifs TurtleKit

(1) Scalabilite grace au GPU=⇒ populations et environnements plus grands

(2) Conserver l’accessibilite de la plate-forme=⇒ garder un modele oriente objet=⇒ Pas de Tout-sur-GPU ⇒ integration incrementale

Fabien MICHEL - LIRMM SMA & GPGPU 21

Page 25: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

TURTLEKIT : simulation de SMA spatialises

Fabien MICHEL - LIRMM SMA & GPGPU 22

Page 26: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

TURTLEKIT : simulation de SMA spatialises

Fabien MICHEL - LIRMM SMA & GPGPU 23

Page 27: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

TURTLEKIT : simulation de SMA spatialises

Fabien MICHEL - LIRMM SMA & GPGPU 24

Page 28: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Exemple de calcul couteux : evaporation d’une pheromone

Evaporation d’une pheromone : version sequentielle

Procedure evapSeq(grille,largeur,hauteur,evapCoef)Pour i de 0 a largeur faire

Pour j de 0 a hauteur fairegrille[i][j]← grille[i][j] × evapCoef ;

Fin PourFin Pour

Fin

Algorithme 1: evaporation CPU

Fabien MICHEL - LIRMM SMA & GPGPU 25

Page 29: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Programmation GPGPU

Stream Processing

Un jeu de donnees (le flux – stream)Un noyau de calcul – kernel, appliquee a chaque element du flux.

Fabien MICHEL - LIRMM SMA & GPGPU 26

Page 30: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Le module de diffusion GPU : Exemple de l’evaporation

Evaporation d’une pheromone : version GPU

Procedure evapGPU(grille,largeur,hauteur,evapCoef)i ← blockIdx.x × blockDim.x + threadIdx.x ;j ← blockIdx.y × blockDim.y + threadIdx.y ;Si (i < largeur ET j < hauteur ) Alors

grille[i][j]← grille[i][j] × evapCoef ;Fin Si

Fin

Algorithme 2: evaporation GPU

Fabien MICHEL - LIRMM SMA & GPGPU 27

Page 31: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Resultats

Fabien MICHEL - LIRMM SMA & GPGPU 28

Page 32: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Conclusion

Fabien MICHEL - LIRMM SMA & GPGPU 29

Page 33: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Conclusion

Fabien MICHEL - LIRMM SMA & GPGPU 30

Page 34: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Merci de votreattention

Fabien MICHEL - LIRMM SMA & GPGPU 31

Page 35: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

TurtleKit 3

Fabien MICHEL - LIRMM SMA & GPGPU 32

Page 36: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Fabien MICHEL - LIRMM SMA & GPGPU 33

Page 37: Systèmes Multi-Agents et calcul haute performance sur GPU€¦ · Systemes Multi-Agents` et calcul haute performance sur GPU Fabien MICHEL Emmanuel HERMELLIN equipe SMILE´ LIRMM

SMAGPGPU

SMA + GPGPU

Tout-sur-GPUApproches hybridesTurtleKit 3

Fabien MICHEL - LIRMM SMA & GPGPU 34