Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste



Documents pareils
PRIMAVERA RISK ANALYSIS

Apprentissage Automatique

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Partie 7 : Gestion de la mémoire

données en connaissance et en actions?

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Solution logicielle pour le pilotage et l ERM. Journées d études IARD 26 mars mars 2010

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Le monde change vite, les méthodes de gestion évoluent. La traçabilité et le reporting s invitent désormais dans les usines de préfabrication.

FazaANGEL supervision pro-active

Une bibliothèque de templates pour CUDA

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Introduction à MATLAB R

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

Qualité du logiciel: Méthodes de test

Conception de réseaux de télécommunications : optimisation et expérimentations

L'intelligence d'affaires: la statistique dans nos vies de consommateurs

Fiche produit Fujitsu ETERNUS JX40 Baie de stockage JBOD

Limitations of the Playstation 3 for High Performance Cluster Computing

MASTER EUROPEEN EN MANAGEMENT ET STRATEGIE D ENTREPRISE SPECIALISATION MANAGEMENT DU DEVELOPPEMENT DURABLE

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

Sanity Check. bgcolor mgcolor fgcolor

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

INTRODUCTION AU DATA MINING

overmind La solution précède le problème 2008 Overmind - All rights reserved

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

DUO : Smart Noise Monitor. Station de surveillance. Brand of ACOEM

Outils pour les réseaux de neurones et contenu du CD-Rom

AVIS DU CONSEIL ECONOMIQUE, SOCIAL ET ENVIRONNEMENTAL REGIONAL SUR LA STRATEGIE DE COHERENCE REGIONALE DE L AMENAGEMENT NUMERIQUE (SCORAN)

CYCLE CERTIFIANT ADMINISTRATEUR BASES DE DONNÉES

Quantification Scalaire et Prédictive

POM Monitoring V4.0. Release Note fonctionnelle

BACCALAURÉAT PROFESSIONNEL EPREUVE DE TRAVAUX PRATIQUES DE SCIENCES PHYSIQUES SUJET A.1

Sujet 4: Programmation stochastique propriétés de fonction de recours

TP Bases de données réparties

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

MESURES de BRUIT. Chantier A63 Rechargement

Baccalauréat ES Amérique du Nord 4 juin 2008

> REnDRE LE BRuIt visible

Baccalauréat technique de la musique et de la danse Métropole septembre 2008

Conventions d écriture et outils de mise au point

ENTREZ DANS L UNIVERS L DAYTRADER

Ordonnance du DFJP sur les instruments de mesure audiométriques

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

La place de SAS dans l'informatique décisionnelle

UNIVERSITE DES ANTILLES et DE LA GUYANE Campus de Fouillole BP Pointe-à-Pitre Cedex CONTRAT LE MASTER NOM DU DOMAINE STS

Cours A7 : Temps Réel

Efficacité énergétique des réseaux de cœur et d accès

Campus. Les formations Finance active

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

FORMAT FORMA ION SUR LA ION SUR LA GESTION DE PROJET & MS PROJECT

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Comment booster vos applications SAP Hana avec SQLSCRIPT

3.2. Matlab/Simulink Généralités

Le premier objectif de Quickser est donc de proposer une solution avant tout source d économies et ce dans plusieurs domaines.

Projet de Traitement du Signal Segmentation d images SAR

Sea Tech Week Brest - Mercredi 10 octobre Quartz salle 1

La surveillance appliquée à la gestion des risques géotechniques miniers

Fiche produit FUJITSU ETERNUS DX200F Baie de stockage Flash

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Business Intelligence

Chapitre 5 : Flot maximal dans un graphe

De la mesure à l analyse des risques

Bases de données documentaires et distribuées Cours NFE04

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Annexe 6. Notions d ordonnancement.

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Audit activité base Oracle / SAP

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

MASTER SIS PRO : logique et sécurité DÉTECTION D INTRUSIONS. Odile PAPINI, LSIS. Université de Toulon et du Var. papini@univ-tln.

Les technologies du Big Data

Communication parlée L2F01 TD 7 Phonétique acoustique (1) Jiayin GAO <jiayin.gao@univ-paris3.fr> 20 mars 2014

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

PRÉSENTATION DES SERVICES

1 INFORMATION - INFORMATIQUE. 11 Systèmes d'information gestion des connaissances, knowledge management

Raisonnement probabiliste

Algorithmique I. Algorithmique I p.1/??

Correction du baccalauréat ES/L Métropole 20 juin 2014

Agrégation des portefeuilles de contrats d assurance vie

Parcours en deuxième année

Les Cartes et leur Valeur

ESSEC. Cours «Management bancaire» Séance 3 Le risque de crédit Le scoring

Présentation. Pour. Gilles ALAIS, Country Manager Barloworld Supply Chain Software France 20 Rue des Petits Hôtels, Paris

Séance 0 : Linux + Octave : le compromis idéal

4D v11 SQL Release 5 (11.5) ADDENDUM

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Découverte de l ordinateur. Partie matérielle

La Certification de la Sécurité des Automatismes de METEOR

IBM Tivoli Monitoring, version 6.1

Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information

Initiation. àl algorithmique et à la programmation. en C

Steganos présente Security Suite 2007, son incontournable suite de sécurité pour PC.

Présentation du M2 SIC : Systèmes Informatiques et Applications Marines

DEMANDE D INFORMATION RFI (Request for information)

Introduction aux systèmes temps réel. Iulian Ober IRIT

excellence environnementale fiche - action Utilisation d un broyeur de branches sur les chantiers espaces verts

Transcription:

Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste Pierrick Brunet Encadré par Serge Guelton Etudiant à Télécom Bretagne Stage de fin d étude à Quiet Oceans Sixièmes rencontres de la compilation française 1

QO-Stat Présentation du problème o Contexte o Algorithme utilisé o Vers une approche langage Compilation du langage dédié o Résultats naïfs o Stratégie d amélioration Allocation de registre o K-Coloriage o Allocation par parcours linéaire Travaux futurs 2

Contexte Quonops Informations environnementales Génération de matrices 3D de champs sonores QO-Stat Scénarios: combinaison de champs sonores Génération d histogramme de bruit Matlab Génération de cartes de bruit 3

Contexte Quonops + QO-Stat 4

Contexte Quonops 4400 matrices 53Go de données correspondant à des situations ponctuelles QO-Stat Histogramme des scenarios correspondant à un nuage de situation Matlab Cartes synthétique compréhensible par un humain Statistiques permettant de comprendre et d anticiper l impact du projet 5

Contexte Quonops 4400 matrices 53Go de données correspondant à des situations ponctuelles QO-Stat Histogramme des scenarios correspondant à un nuage de situation Matlab Cartes synthétique compréhensible par un humain Statistiques permettant de comprendre et d anticiper l impact du projet 6

Algorithme utilisé AJOUTER L ALGORITHME 7

Algorithme utilisé AJOUTER L ALGORITHME 8

Algorithme utilisé AJOUTER L ALGORITHME 9

Algorithme utilisé AJOUTER L ALGORITHME 10

Algorithme utilisé AJOUTER L ALGORITHME 11

Algorithme utilisé AJOUTER L ALGORITHME 12

Algorithme utilisé AJOUTER L ALGORITHME 13

Langage de description SL = [ Selector("piling")(Technique="piling", Diameter_meter=2, Number_of_strokes=23000, Duration_hour=0.000277777778, Gain_dB=3), Selector("trafic") ( ), ] ZEA_ = [ ZEA ("ZEA0")(North=50, South=49, West=-5.2, East=-3.5, Top=0, Bottom=80), ZEA ("ZEA1")(North=49.5, South=47, West=-6.5, East=-0.5, Top=0, Bottom=7000), ] scenario = [ SCENARIO ("Scenario_01")( {"Technique":"trafic"}, {"Technique":"piling"}, ), ] 14

Chaîne de traitement Génération de code C++ à partir d un langage de description Langage de description Générateur de code.cpp g++ a.out Bibliothèque externe 15

Chaîne de traitement Génération de code C++ à partir d un langage de description Langage de description Générateur de code.cpp g++ a.out Bibliothèque externe 16

QO-Stat Compilation du langage dédié o Résultats naïfs o Stratégie d amélioration 17

Génération de code naïve Trace Valgrind Utilisation des ressources Utilisation Mémoire : 2 matrices (Quelques Mo) Temps d exécution : 2.5 min SLOC : 24 633 lignes Génération du code : 4.5 sec 18

Stratégie possible pour limiter les load/store Spécialiser l allocateur mémoire pour avoir une gestion de cache (Optimalité?) Effectuer les calculs en point à point. (Plusieurs milliers de fichiers ouverts en même temps) Allocation de registre 19

Stratégie possible pour limiter les load/store Spécialiser l allocateur mémoire pour avoir une gestion de cache (Optimalité?) Effectuer les calculs en point à point. (Plusieurs milliers de fichiers ouverts en même temps) Allocation de registre 20

QO-Stat Allocation de registre o K-Coloriage o Allocation par parcours linéaire 21

Graphe de flot de donnée de l algorithme 22

Graphe de flot de donnée de l algorithme K-coloriage du graphe Choix d un ordonnancement Déterminer la portée des matrices Construction du graphe d interférence K-Coloriage du graphe d interférence Allocation par parcours linéaires Choix d un ordonnancement Déterminer la portée des matrices Attribution des registres 23

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 24

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 25

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 26

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 27

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 28

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 29

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 30

K-Coloriage Matrice 1 Matrice 2 Matrice 8 Matrice 9 Matrice 3 Matrice 10 Matrice 4 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 31

K-Coloriage Matrice 1 Matrice 2 Matrice 3 Matrice 4 Matrice 8 Matrice 9 Matrice 10 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 Matrice 1 Matrice 3 Matrice 2 Matrice 4 Matrice 5 Matrice 8 Matrice 10 32

K-Coloriage Matrice 1 Matrice 2 Matrice 3 Matrice 4 Matrice 8 Matrice 9 Matrice 10 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 Matrice 1 Matrice 3 Matrice 2 Matrice 4 Matrice 5 Matrice 8 Matrice 10 33

K-Coloriage Matrice 1 Matrice 2 Matrice 3 Matrice 4 Matrice 8 Matrice 9 Matrice 10 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 Matrice 1 Matrice 3 Matrice 2 Matrice 4 Matrice 5 Matrice 8 Matrice 10 34

Graphe de flot de donnée de l algorithme K-coloriage du graphe Choix d un ordonnancement Déterminer la portée des matrices Construction du graphe d interférence K-Coloriage du graphe d interférence Allocation par parcours linéaires Choix d un ordonnancement Déterminer la portée des matrices Attribution des registres 35

Allocation par parcours linéaires Matrice 1 Matrice 2 Matrice 3 Matrice 4 Matrice 8 Matrice 9 Matrice 10 Matrice 11 Matrice 6 Matrice 5 Matrice 12 Matrice 13 Matrice 7 Matrice 1 Matrice 3 Matrice 2 Matrice 4 Matrice 5 Matrice 8 Matrice 10 36

K-Coloriage du graphe d interférence Allocation par K-Coloriage Calcul du graphe d interférence très lent Gains sur la taille mémoire nécessaire trop peu important Utilisation des ressources Utilisation Mémoire : 735 matrices SLOC : 7750 lignes Génération du code : 17 sec 37

Allocation par parcours linéaire Allocation par parcours linéaire Calcul des portées de toutes les matrices Allocation de registre linéaire Nombre de registre nécessaire plus important Résultats Utilisation Mémoire : 735 matrices Temps d exécution : 18 sec LOC : 7650 lignes Génération du code : 4 sec 38

Conclusion QO-Stat QO-Stat est un programme de réduction et de transformation des données Application d algorithme d allocation de registre dans un autre contexte Gain de temps significatif en gérant correctement l allocation de nos matrices Performances intéressante de l utilisation de l allocation par parcours linéaire Maintenant Eviter le «spilling» Fusion d opérateur Calcul d histogramme Pierrick.brunet@telecom-bretagne.eu Serge.guelton@telecom-bretagne.eu 39

Combinaison des N champs sonores «50% de chance de trouver un niveau sonore supérieur ou égal à 100dB ref 1µPa²» 95 db «courbe S» 100 db 105 db 110 db 40