Chapter 1.1 : Utilisation de bibliothèques



Nous allons faire des tests de performances en développant des fonctions basiques, vectoriées et en fonctions intrinsèques. Afin de simplifier le problème, nous utiliserons trois bibliothèques supplémentaires :

  • TBB : Threading Bounding Block, la bibliothèque de parallélisme de Intel
  • HDF5 : Hierarchical Data Format, un format de données extremement performant, Gratuit et Open-Source qui est un standard industriel
  • MicroBenchmark : une bibliothèque d'évaluation de performance
  • IntrinsicsGenerator : une bibliothèque de fonctions intrinsèques
  • TensorAlloc : une bibliothèque d'allocation de tenseurs
  • HPC_SDK : Le HPC_SDK de NVidia contient tout ce qu'il nous faut pour utiliser efficacement un GPU. Vous pouvez choisir votre version préférée, mais a priori nous utiliserons celle-ci. Pensez à prendre la version qui correspond à votre OS. Ce SDK nous fournira tous les outils necessaires au développement GPU (compilateurs, bibliothèque CUDA etc).


Contrairement à ce que l'on pourrait penser, ce n'est pas de la triche d'utiliser des bibliothèques. En effet, si vous devez simuler la réaction de Gray Scott pour votre travail, ce n'est pas à vous de développer un format de données pour cela car des personnes très compétentes s'en chargent depuis plus de vingt ans. De même, vous n'allez pas pouvoir vendre votre bibliothèque qui lit les arguments passés à un programme car ce n'est pas le propos. Donc, pensez à réutiliser le plus possible les bibliothèques à votre disposition, car cela fait aussi parti de l'étude bibliographique.