Intégration du nouveau corrélateur
Au programme:
- Un mécanisme pour générer des erreurs/warnings de compilation personnalisés.
- Des outils pour contrôler les optimisations effectuées par le compilateur.
- Des defines pour configurer le matériel cible (configurés automatiquement quand c'est possible).
- Une couche d'abstraction pour utiliser la vectorisation SIMD du CPU.
-
RAcqMemZoneMgr
alloue des tampons bien alignés pour le SIMD. -
Le contenu des tampons
RAcqMemZoneMgr
est rendu compatible avec cette nouvelle politique d'alignement (headers, taille des paquets...). -
Du padding est injecté entre les FFTs par
RAcqMemZoneMgr
pour éviter les problèmes d'associativité de cache. -
Le code qui utilise
RAcqMemZoneMgr
est adapté à ces évolutions d'organisation des données en mémoire. => Réza s'est porté volontaire pour cette tâche. - Le corrélateur est séparé entre une classe de base et une classe dérivée (avec un hook pour la réorganisation des données qui ne fait rien dans le corrélateur actuel).
- Une nouvelle classe dérivée est créée utilisant le nouvel algorithme. => En cours
- mfacq est modifié pour utiliser la nouvelle classe.