Chapter 11.1 : Conception

Pour le moment, il n'y a pas encore de Transformée de Fourier disponible dans la bibliothèque standard de C++. Donc, ce calcul n'a pas d'équivalent -stdpar mais nous pouvons utiliser cuFFT qui permet de calculer des Transformées de Fourier sur GPU.

Généralement, le calcul d'une Transformée de Fourier est lié à du traitement du signal ou plus généralement à de l'analyse de données. Hors, la partie la plus importante d'une analyse de données est son format de données noteComme nous l'avons déjà montré dans plein de cours, nous n'allons pas revenir dessus dans celui-là. cela implique que si nous voulons que notre analyse de données soit rapide pour calculer des Transformées de Fourier elle doit l'être tout autant pour lire et écrire ces données.

Dans ce cas, le format HDF5 (Hierartical Data Format) est un standard industriel en simulation et en analyse de données. C'est un format auto-descriptif ce qui implique que le fichier .h5 décrit lui-même ce qu'il contient noteEt tous les champs peuvent avoir une documentation, donc plus personne n'a d'excuse pour ne pas écrire de doc. qui est extrèmement rapide en lecture et en écriture. Il est même possible de lire simultanément le même fichier avec plusieurs processus ou plusieurs threads et également de ne lire que certaine parties du fichier (si il est plus volumineux que la RAM disponible par exemple).

Dans la section 11.2.4.1, nous aborderons plus en détail le format que nous allons utiliser en HDF5 mais l'idée est toujours la même : il faut utiliser des tableaux pour avoir d'excellentes performances et une simplicité d'utilisation apréciable (et apréciée).