Programming models

Programming models

Le choix d´un modèle de programmation donné pour le développement d’une application permet de s’assurer que le programme répond à ses objectifs de la meilleure manière.

L’effervescence des modèles de programmation parallèle s’explique par la volonté de vouloir répondre à des besoins multiples (et parfois même antinomique). On peut notamment citer :

  • la performance maximale ou satisfaisante sur une architecture ciblée
  • la facilité d’apprentissage, d’écriture et de relecture du code
  • l’abstraction du parallélisme et des structures mémoires
  • la modularité du code
  • la portabilité en terme d’architecture
  • la résolution d’un problème donné
  • Le découplage entre différents niveaux ou composantes : algorithme, parallélisme, IO…

GPU Programming

FPGA programming

Quantum programming

Dans l’attente de machine suffisamment performante et mature, la simulation des ordinateurs quantiques et l’étude des algorithmes permettent de s’y préparer.

Au sein de notre laboratoire, cette activité est pilotée par Victor ALESSANDRINI qui s’intéresse aux modèles de programmation quantiques. Il est le développeur de l’environnement logiciel PQbits (Parallel Qubits). Cette bibliothèque C++ permet d’émuler de manière très efficace un ordinateur quantique. Elle est destinée à la compréhension, l’exploration et le test des algorithmes pour ce type de machine. La bibliothèque est parallélisée pour pouvoir tourner sur les super-calculateurs les plus récents.