En fait, la fameuse loi de Moore prévoit un doublement du nombre de transistors par mm2 tous les 18 mois, ce qui permet donc de mettre quatre fois plus de choses sur une puce de taille identique tous les 3 ans. Pour vendre des machines toujours plus puissantes, les constructeurs exploitent donc cet espace disponible, en proposant des processeurs "dual-core" ou des "quad-core", qui ne sont pas plus rapides en terme de fréquence d'horloge, mais qui permettent d'effectuer plusieurs tâches en parallèle.
Le seul problème, est qu'à moins d'exécuter quatre Word en parallèle, ce surcroît de puissance ne sert pas à grand chose, car les algorithmes réellement parallélisables sont très peu nombreux, mais il en existe tout de même quelques-uns, notamment dans le domaine des jeux vidéos. En effet : pour proposer des effets visuels toujours plus réalistes, ceux-ci sont très gourmands en calcul (ombres, facettes, textures), mais un certain nombre d'algorithmes sont intrinsèquement parallèles, et peuvent donc bénéficier de la loi de Moore si la place disponible sur les puces est utilisée pour y mettre plusieurs CPUs (architecture multi-coeurs).
Comme (grâce à la loi de Moore), il est maintenant facile de mettre de nombreux coeurs sur une surface réduite, les principaux fabricants de cartes vidéo (nVIDIA, ATI) se sont lancés dans cette voie, financés dans leur recherche par les millions de dollars de l'industrie du jeu vidéo. Le résultat est étonnant : pour environ 600 euros, la carte graphique nVIDIA GeForce 8800 à 128 coeurs affiche 330 GFlops (330 milliards d'opérations par seconde) alors qu'elle ne tourne qu'à 612 MHz.
Il faut bien avoir conscience que 330 GFlops représente une puissance de calcul monstrueuse, qui jusqu'à présent n'était disponible que sur des super-ordinateurs. Les fabricants se sont rendu compte de l'intérêt de telles cartes pour le calcul scientifique, et sortent maintenant des cartes graphiques... sans sortie graphique (!), dédiéees au calcul pur, appelées GPGPUs, pour General Purpose Graphical Processor Unit. Ainsi, nVIDIA sort des calculateurs TESLA montant jusqu'à 2 TFlops pour 512 processeurs et un prix dérisoire (vu la puissance de calcul offerte) de $12000.
Le but de ce stage est donc de programmer des algorithmes évolutionnaires de base sur ces cartes, histoire d'apprendre à les programmer.
Le laboratoire dispose d'une carte GeForce 8800 à 128 processeurs, exploitable par la bibliothèque CUDA. Le (ou les) stagiaire(s) devront apprendre à utiliser le toolkit CUDA pour programmer un algorithme évolutionnaire et le faire tourner tout d'abord sur simulateur avant de l'essayer sur la carte graphique du laboratoire.