La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Projet de Fin d’Etudes – Optimisation SSE 1/28. 1) Présentation du Stage 2) Les instructions SSE 3) Algorithme DSP Audio Conclusion 2/28 Projet de Fin.

Présentations similaires


Présentation au sujet: "Projet de Fin d’Etudes – Optimisation SSE 1/28. 1) Présentation du Stage 2) Les instructions SSE 3) Algorithme DSP Audio Conclusion 2/28 Projet de Fin."— Transcription de la présentation:

1 Projet de Fin d’Etudes – Optimisation SSE 1/28

2 1) Présentation du Stage 2) Les instructions SSE 3) Algorithme DSP Audio Conclusion 2/28 Projet de Fin d’Etudes – Optimisation SSE

3 3/28 Projet de Fin d’Etudes – Optimisation SSE

4 Moog Arturia Software & Hardware 4/28 Projet de Fin d’Etudes – Optimisation SSE Prophet VS

5 Etudes des instructions SSE Etudes des optimisations envisageables Tests de performance par algorithme Implémentation en situation réelle 5/28 Projet de Fin d’Etudes – Optimisation SSE

6 6/28 Projet de Fin d’Etudes – Optimisation SSE

7 7/28 Projet de Fin d’Etudes – Optimisation SSE __m128 Float[3] Registre Xmm 128 bits Float[2] Float[1] Float[0] __m128i Int[3] Int[2] Int[1] Int[0] Double[0] Double[1]

8 8/28 Projet de Fin d’Etudes – Optimisation SSE Instruction de base mulps : (multiplication verticale) __m128 aV a3 a2 a1 a0 __m128 bV b3 b2 b1 b0 _mm_mul_ps(aV,bV) = mulps aV, bV ; a3 x b3 a2 x b2 a1 x b1 a0 x b0 1 instruction / 4 Floats multipliés

9 9/28 Projet de Fin d’Etudes – Optimisation SSE 8 registres Entiers 64 bits MMX (vs 3DNow) 16 registres Floats 128 bits SSE Doubles 128 bits int vectors SSE2 Instructions horizontales SSE3 Instructions pour la vidéo Passage à 256 bits.. AVX Pentium 4 AMD 64 bits Pentium 4 AMD 64 bits Core Duo AMD x2 Core Duo AMD x2 Pentium 3 AMD Athlons Pentium 3 AMD Athlons

10 10/28 Projet de Fin d’Etudes – Optimisation SSE Avantages Permet de réduire le nombre d’instructions Pas de problème de dénormalisation Contraintes Compatibilité avec la machine Perte de précision par rapport au x87 (très légère) Alignement des données sur 16 bytes Réorganisation des données pour l’utiliser efficacement dans certains algorithmes

11 Pouvoir évaluer les performances des algorithmes : Mesurer facilement et précisément le temps de calcul Eviter ou détecter les perturbations externes (OS, scheduler) Réaliser les tests facilement (automatiquement) sur différentes plateformes Garder la plate-forme évolutive pour l’avenir 11/28 Projet de Fin d’Etudes – Optimisation SSE

12 12/28 Projet de Fin d’Etudes – Optimisation SSE Tests Manager Algorithme 0 : Algorithme Mesures du temps de calcul (Ecart type, Temps moyen, max, min) Résultats Statistiques par algorithmes Résultats Statistiques par algorithmes Algorithme 1, … Algorithme N Opérateur : Ajout d’algorithme Définit la liste des algorithmes à tester lors du Bench Bench Manager Récupération au-delà d’une deadline de temps permettant de ne pas être arrêté par le scheduler de l’OS Tests à appeler Bench Manager Récupération au-delà d’une deadline de temps permettant de ne pas être arrêté par le scheduler de l’OS Tests à appeler

13 13/28 Projet de Fin d’Etudes – Optimisation SSE

14 Points clés de l’optimisation : Le jeu d’instruction : SSE3 semble le minimum à considérer compte tenu des instructions horizontales pour le DSP Le processeur influe énormément (performance du cœur SSE): Atom/core i5 même jeu SSE, mais des gains de performance incomparables. L’organisation mémoire et les appels au cache peuvent faire basculer la tendance entre SSE ou calcul flottant sur x87 14/28 Projet de Fin d’Etudes – Optimisation SSE

15 15/28 Projet de Fin d’Etudes – Optimisation SSE Comprendre et tester l’algorithme en flottants non SSE Vérifier les dépendances entre données Aligner les données sur 16 Bytes si nécessaire Ecrire l’algorithme en SSE Tester à l’oreille dans un premier temps Calculer l’erreur de calcul entre SSE et flottant pour valider Mesurer la performance unitaire Mesurer la performance après intégration

16 16/28 Projet de Fin d’Etudes – Optimisation SSE

17 17/28 Projet de Fin d’Etudes – Optimisation SSE

18 18/28 Projet de Fin d’Etudes – Optimisation SSE

19 19/28 Projet de Fin d’Etudes – Optimisation SSE


Télécharger ppt "Projet de Fin d’Etudes – Optimisation SSE 1/28. 1) Présentation du Stage 2) Les instructions SSE 3) Algorithme DSP Audio Conclusion 2/28 Projet de Fin."

Présentations similaires


Annonces Google