Solveur linéaire sur GPU

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Solveur linéaire sur GPU"

Transcription

1 Thomas JOST 1 Sylvain CONTASSOT-VIVIER 1,2 Stéphane VIALLE 1,3 1 Équipe AlGorille, LORIA 2 Université Henri Poincaré Nancy 1 3 Équipe IMS Supélec (Metz)

2 1 Introduction 2 Contraintes et algorithmes Structure de données Méthodes itératives Améliorations possibles 3 Performances Tests en simple précision Tests en double précision 4 Conclusion

3 1 Introduction 2 Contraintes et algorithmes Structure de données Méthodes itératives Améliorations possibles 3 Performances Tests en simple précision Tests en double précision 4 Conclusion

4 Introduction Cadre général Transport 3D d espèces chimiques dans un cours d eau Étude d algorithmes synchrones et asynchrones Cluster de GPUs Étape centrale : solveur linéaire Un système linéaire différent à résoudre à chaque itération Système de la forme Ax = b Système creux, structuré

5 1 Introduction 2 Contraintes et algorithmes Structure de données Méthodes itératives Améliorations possibles 3 Performances Tests en simple précision Tests en double précision 4 Conclusion

6 Nécessité d une nouvelle implémentation Pas de solveur existant adapté Il existe quelques projets : MAGMA, cudaztec, GPUmatrix, CNC... Aucune des solutions existantes ne convient parfaitement...il faut en écrire une nouvelle Contraintes pour le choix de la méthode Méthodes directes : précises, mais lentes peu intéressant Méthodes itératives : moins précises, mais rapides, surtout sur des matrices creuses Nombres flottants en simple précision, implémentation non standard erreurs d arrondis Problème creux : il faut une structure de données adaptée

7 Structure de données Structure de données Matrice creuse structurée Système de taille n avec plusieurs diagonales non vides Chaque diagonale est identifiée par un nombre d : tous les éléments a ij de la diagonale vérifient j i = d (modulo n).

8 Structure de données Structure de données Représentation en mémoire Tableau n d où chaque colonne est une diagonale de la matrice précédente ; Liste de d entiers : correspondance diagonale colonne. Schéma de stockage proche du «DIA» de LAPACK, mais mieux adapté aux contraintes mémoire des GPU

9 Méthodes itératives Méthodes itératives Idée générale Calculer une suite ( x k) k N qui converge vers x Points délicats Vitesse de convergence (nombre d itérations et durée de chaque itération) mieux vaut quelque chose de rapide Occupation mémoire éviter les matrices intermédiaires Parallélisation soit des kernels simples, soit des opérations CUBLAS Simplicitié temps de debug potentiellement importants sur GPU, donc les méthodes plus simples peuvent être plus intéressantes

10 Méthodes itératives Algorithme de Jacobi Principe Décomposer A en D (diagonale), U (triangulaire supérieure) et L (triangulaire inférieure) : A = D + L + U x k+1 = D 1 [ b (L + U)x k] Composante par composante : ( x k+1 i = 1 b i ) a ij x k j a ii j i Converge si A est symétrique définie positive

11 Méthodes itératives Algorithme de Gauss-Seidel Principe Décomposer A en D (diagonale), U (triangulaire supérieure) et L (triangulaire inférieure) : A = D L U (D L)x k+1 = Ux k + b Composante par composante : ( x k+1 i = 1 b i a ii i 1 j=1 a ij x k+1 j n j=i+1 Converge si A est symétrique définie positive a ij x k j )

12 Méthodes itératives Algorithmes de Jacobi et de Gauss-Seidel Implémentation sur CPU : Gauss-Seidel Implémentation directe avec une boucle for ( x k+1 i = 1 b i a ii i 1 j=1 a ij x k+1 j n j=i+1 a ij x k j ) Implémentation sur GPU : Jacobi Un thread par composante ( x k+1 i = 1 b i ) a ij x k j a ii j i

13 Méthodes itératives Algorithme du gradient biconjugué Principe Dérive de la méthode du gradient conjugué Construction d une suite de directions conjuguées Descente suivant ces directions Converge même pour des systèmes non symétriques...mais peu de résultats théoriques Numériquement instable

14 Méthodes itératives Algorithme du gradient biconjugué Difficultés Utilise plusieurs vecteurs intermédiaires À chaque itération : produit par A et par sa transposée heureusement, la structure de données s y prête bien! Algorithme plus complexe une simple boucle for ne suffit pas...

15 Méthodes itératives Algorithme du gradient biconjugué Implémentation sur GPU Utilisation de CUBLAS pour les opérations sur les vecteurs (norme, produit scalaire, SAXPY) 2 kernels spécifiques Textures pour les accès mémoire...et beaucoup de debug!

16 Améliorations possibles Amélioration de la précision Émulation de double précision Utiliser deux float pour émuler un double sur GPU Bibliothèque DSFUN90 en Fortran quelqu un en a fait un portage CUDA! Calcul avec des float2 largement plus lent

17 Améliorations possibles Amélioration de la précision Éviter les erreurs d arrondi Lors des divisions (dans Jacobi / Gauss-Seidel) : Termes diagonaux n interviennent qu au dénominateur Calcul des inverses sur CPU, multiplication par les inverses sur GPU Somme «déséquilibrée» algorithme de sommation de Kahan Code machine (PTX) : éviter les instructions MAD fonction _fmul_rn()...

18 1 Introduction 2 Contraintes et algorithmes Structure de données Méthodes itératives Améliorations possibles 3 Performances Tests en simple précision Tests en double précision 4 Conclusion

19 Errata Partie modifiée! Les résultats présentés le 4 juin étaient erronés du fait d un bug qui n a été découvert que quelques jours plus tard. Cette partie a donc été mise à jour avec la version corrigée : courbes corrigées, avec une précision largement meilleure ; inclusion de tests sur des matrices réelles ; inclusion de tests sur des cartes supportant le calcul en double précision ; ajout de l algorithme du Gradient Biconjugué Stabilisé (BiCG-Stab).

20 Performances des différents algorithmes Données mesurées Temps temps d exécution total de l algorithme, y compris les transferts Précision b Ax (max. en valeur absolue du vecteur d erreur) Données de test Système construit par le programme reproductible Tailles variant entre n = 100 et n = Matrices réelles provenant de la base de matrices creuses de l Université de Floride (http://www.cise.ufl.edu/ research/sparse/matrices/index.html)

21 Tests en simple précision Temps Gauss Seidel CPU Jacobi GPU BiCG CPU BiCG GPU BiCG Stab CPU BiCG Stab GPU Temps de convergence (ms) Taille du problème

22 Tests en simple précision Précision 10 5 Gauss Seidel CPU Jacobi GPU BiCG CPU BiCG GPU BiCG Stab CPU BiCG Stab GPU Erreur Taille du problème

23 Tests en simple précision Matrices réelles 1E+03 1E+02 1E+01 1E+00 1E-01 Erreur 1E-02 1E-03 CPU GS GPU Jacobi CPU BiCG GPU BiCG CPU BiCG-Stab GPU BiCG-Stab 1E-04 1E-05 1E-06 1E-07 dw4096.bin ex1.bin mcca.bin minsurfo.bin obstclae.bin wathen100.bin

24 Tests en simple précision Conclusion Conclusion sur cet exemple GPU largement plus rapide que CPU...mais moins précis BiCG converge mieux que Jacobi/Gauss-Seidel, mais avec une précision moins bonne BiCG-Stab converge bien, mais avec une précision encore moins bonne le plus intéressant : BiCG sur GPU

25 Tests en double précision Temps Gauss Seidel CPU Jacobi GPU BiCG CPU BiCG GPU BiCG Stab CPU BiCG Stab GPU Temps de convergence (ms) Taille du problème

26 Tests en double précision Précision Gauss Seidel CPU Jacobi GPU BiCG CPU BiCG GPU BiCG Stab CPU BiCG Stab GPU 10 9 Erreur Taille du problème

27 Tests en double précision Matrices réelles 1E+06 1E+03 1E+00 Erreur 1E-03 1E-06 CPU GS GPU Jacobi CPU BiCG GPU BiCG CPU BiCG-Stab GPU BiCG-Stab 1E-09 1E-12 1E-15 dw4096.bin ex1.bin mcca.bin minsurfo.bin obstclae.bin wathen100.bin

28 Tests en double précision Conclusion Conclusion sur cet exemple GPU largement plus rapide que CPU GPU très largement moins précis que CPU, et précision beaucoup plus variable Pas de changement notable sur la convergence Dans le pire des cas, résultats équivalents à ceux obtenus en float BiCG sur GPU reste un bon compromis

29 1 Introduction 2 Contraintes et algorithmes Structure de données Méthodes itératives Améliorations possibles 3 Performances Tests en simple précision Tests en double précision 4 Conclusion

30 Conclusion Solveurs sur GPU Exploiter la structure des matrices creuses est primordial Rapides, mais imprécis Pas adaptés à tous les problèmes Calculer une solution initiale pour un solveur plus précis sur CPU? Idées à tester Utiliser un préconditionneur pour améliorer la précision et la convergence Utiliser des cartes plus récentes qui supportent le type double

31 Conclusion Code source des solveurs Sera bientôt publié (licence GPL) Intégration à CNC si on a le temps et le courage

32 Conclusion Des questions?

33 Conclusion Des questions? Merci pour votre attention!

34 Textures Textures Mémoire de texture Cache local (quelques ko par multiprocesseur) Une lecture au plus 1 cache miss, sinon lecture depuis le cache Optimisé pour des accès à des adresses proches au sein d un warp Lecture seule Pas de vérification de cohérence avec la mémoire globale au sein d un appel à un kernel Concrètement : permet de limiter le nombre de transactions DRAM lors d accès mémoire non-coalesced

Solveurs linéaires sur GPU pour la simulation d'écoulement en milieux poreux

Solveurs linéaires sur GPU pour la simulation d'écoulement en milieux poreux CO 2 maîtrisé Carburants diversifiés Véhicules économes Raffinage propre Réserves prolongées Solveurs linéaires sur GPU pour la simulation d'écoulement en milieux poreux J-M. Gratien,, M. Hacene, T. Guignon

Plus en détail

6.11 Bases de Lanczos bi-orthogonales pour des matrices non symétriques

6.11 Bases de Lanczos bi-orthogonales pour des matrices non symétriques Chapitre 6 Méthodes de Krylov 611 Bases de Lanczos bi-orthogonales pour des matrices non symétriques Dans le cas où la matrice A n est pas symétrique, comment peut-on retrouver une matrice de corrélation

Plus en détail

Enoncé des travaux pratiques. du cours OpenMP

Enoncé des travaux pratiques. du cours OpenMP Enoncé des travaux pratiques Enoncé des travaux pratiques du cours OpenMP Enoncé des travaux pratiques : description Description Les travaux pratiques se dérouleront sur les nœuds vargas (grappes de 35

Plus en détail

Code MARTHE : Performances des solveurs pour les calculs hydrodynamiques

Code MARTHE : Performances des solveurs pour les calculs hydrodynamiques Code MARTHE : Performances des solveurs pour les calculs hydrodynamiques Note technique NT EAU 2004/18 juin 2004 Dominique THIÉRY Synthèse Dans le code de calcul MARTHE il est possible de choisir parmi

Plus en détail

Introduction à la programmation // sur GPUs en CUDA et Python

Introduction à la programmation // sur GPUs en CUDA et Python Introduction à la programmation // sur GPUs en CUDA et Python Denis Robilliard Équipe CAMOME: C. Fonlupt, V. Marion-Poty, A. Boumaza LISIC ULCO Univ Lille Nord de France BP 719, F-62228 Calais Cedex, France

Plus en détail

Limitations of the Playstation 3 for High Performance Cluster Computing

Limitations of the Playstation 3 for High Performance Cluster Computing Introduction Plan Limitations of the Playstation 3 for High Performance Cluster Computing July 2007 Introduction Plan Introduction Intérêts de la PS3 : rapide et puissante bon marché L utiliser pour faire

Plus en détail

Introduction à la programmation GPU. P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010

Introduction à la programmation GPU. P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010 Introduction à la programmation GPU P. Fortin UPMC / LIP6 ANR TaMaDi 27/10/2010 Les processeurs graphiques (GPU) GPU : Graphics Processing Unit GPGPU : General Purpose computation on Graphics Processing

Plus en détail

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique

Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Projet CLANU en 3GE: Compléments d algèbre linéaire numérique Année 2008/2009 1 Décomposition QR On rappelle que la multiplication avec une matrice unitaire Q C n n (c est-à-dire Q 1 = Q = Q T ) ne change

Plus en détail

Master de mathématiques Analyse numérique matricielle

Master de mathématiques Analyse numérique matricielle Master de mathématiques Analyse numérique matricielle 2009 2010 CHAPITRE 1 Méthodes itératives de résolution de systèmes linéaires On veut résoudre un système linéaire Ax = b, où A est une matrice inversible

Plus en détail

Lilia Ziane Khodja. Laboratoire d Informatique de Paris 6 (LIP6) Département Calcul Scientifique, équipe PEQUAN. Post-doc à l INRIA Bordeaux Sud-Ouest

Lilia Ziane Khodja. Laboratoire d Informatique de Paris 6 (LIP6) Département Calcul Scientifique, équipe PEQUAN. Post-doc à l INRIA Bordeaux Sud-Ouest Lilia Ziane Khodja Post-doc à l INRIA Bordeaux Sud-Ouest Laboratoire d Informatique de Paris 6 (LIP6) Département Calcul Scientifique, équipe PEQUAN Lilia Ziane Khodja 20 mars 2014 Plan de la présentation

Plus en détail

Cours de mathématiques - Alternance Gea

Cours de mathématiques - Alternance Gea Cours de mathématiques - Alternance Gea Anne Fredet 11 décembre 005 1 Calcul matriciel Une matrice n m est un tableau de nombres à n lignes( et m colonnes. 1 0 Par exemple, avec n = et m =, on peut considérer

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Développement de méthodes multi-grilles dans le cadre de l intéraction pastille/gaine

Développement de méthodes multi-grilles dans le cadre de l intéraction pastille/gaine Développement de méthodes multi-grilles dans le cadre de l intéraction pastille/gaine January 25, 2011 Ce n est le bon chemin que si la flèche vise le coeur, R.Hauser Intéraction Pastille/Gaine Fonctionnement

Plus en détail

Cours 3: Inversion des matrices dans la pratique...

Cours 3: Inversion des matrices dans la pratique... Cours 3: Inversion des matrices dans la pratique... Laboratoire de Mathématiques de Toulouse Université Paul Sabatier-IUT GEA Ponsan Module complémentaire de maths, année 2012 1 Rappel de l épisode précédent

Plus en détail

ENSEIRB-MATMECA PG-113 2014. TP6: Optimisation au sens des moindres carrés

ENSEIRB-MATMECA PG-113 2014. TP6: Optimisation au sens des moindres carrés ENSEIRB-MATMECA PG-113 014 TP6: Optimisation au sens des moindres carrés Le but de ce TP est d implémenter une technique de recalage d images qui utilise une méthode vue en cours d analyse numérique :

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la seconde partie

Mathématiques pour l informatique 1 notes de cours sur la seconde partie Mathématiques pour l informatique notes de cours sur la seconde partie L Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances de

Plus en détail

Le théorème du point xe. Applications

Le théorème du point xe. Applications 49 Le théorème du point xe. Applications 1 Comme dans le titre de cette leçon, le mot théorème est au singulier, on va s'occuper du théorème du point xe de Picard qui a de nombreuses applications. Le cas

Plus en détail

Résolution de systèmes linéaires : Méthodes directes. Polytech Paris-UPMC. - p. 1/51

Résolution de systèmes linéaires : Méthodes directes. Polytech Paris-UPMC. - p. 1/51 Résolution de systèmes linéaires : Méthodes directes Polytech Paris-UPMC - p. /5 Rappels mathématiques s Propriétés - p. 2/5 Rappels mathématiques Soit à résoudre le système linéaire Ax = b. Rappels mathématiques

Plus en détail

Calculs approchés d un point fixe

Calculs approchés d un point fixe M11 ÉPREUVE COMMUNE DE TIPE 2013 - Partie D TITRE : Calculs approchés d un point fixe Temps de préparation :.. 2 h 15 minutes Temps de présentation devant les examinateurs :.10 minutes Dialogue avec les

Plus en détail

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes Optimisation de requêtes I3009 Licence d informatique 2015/2016 Cours 5 - Optimisation de requêtes Stéphane.Gançarski Stephane.Gancarski@lip6.fr Traitement et exécution de requêtes Implémentation des opérateurs

Plus en détail

Cours d analyse numérique SMI-S4

Cours d analyse numérique SMI-S4 ours d analyse numérique SMI-S4 Introduction L objet de l analyse numérique est de concevoir et d étudier des méthodes de résolution de certains problèmes mathématiques, en général issus de problèmes réels,

Plus en détail

Demande d attribution de ressources informatiques. Sur le Centre de Calculs Interactifs de l Université de Nice Sophia-Antipolis

Demande d attribution de ressources informatiques. Sur le Centre de Calculs Interactifs de l Université de Nice Sophia-Antipolis Demande d attribution de ressources informatiques Sur le Centre de Calculs Interactifs de l Université de Nice Sophia-Antipolis Titre du projet : Nom du laboratoire : Nom de l établissement hébergeur :

Plus en détail

Introduction générale

Introduction générale Chapitre 1 Introduction générale Ce chapitre est consacré à une présentation rapide des méthodes numériques qui sont étudiées en détail dans ce cours Nous y donnons une approche très simplifiée des quatre

Plus en détail

Préparation à l agrégation 2012/2013. Mots clés : Graphes. Vecteur propre ; matrices stochastiques ; matrices à coefficients positifs.

Préparation à l agrégation 2012/2013. Mots clés : Graphes. Vecteur propre ; matrices stochastiques ; matrices à coefficients positifs. Mots clés : Graphes. Vecteur propre ; matrices stochastiques ; matrices à coefficients positifs. Le jury n exige pas une compréhension exhaustive du texte. Vous êtes laissé(e) libre d organiser votre discussion

Plus en détail

Chapitre 2 : Représentation des nombres en machine

Chapitre 2 : Représentation des nombres en machine Chapitre 2 : Représentation des nombres en machine Introduction La mémoire des ordinateurs est constituée d une multitude de petits circuits électroniques qui ne peuvent être que dans deux états : sous

Plus en détail

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique La programmation linéaire : une introduction Qu est-ce qu un programme linéaire? Qu est-ce qu un programme linéaire? Exemples : allocation de ressources problème de recouvrement Hypothèses de la programmation

Plus en détail

AMS-TA01 Calcul scientifique parallèle

AMS-TA01 Calcul scientifique parallèle AMS-TA01 Calcul scientifique parallèle Edouard AUDIT Ingénieur-Chercheur Maison de la Simulation Patrick CIARLET Enseignant-Chercheur UMA Erell JAMELOT Ingénieur-Chercheur CEA Pierre KESTENER Ingénieur-Chercheur

Plus en détail

Codes correcteurs d erreurs

Codes correcteurs d erreurs Codes correcteurs d erreurs 1 Partie théorique 1.1 Définition Un code correcteur est une technique de codage de l information basée sur la redondance, qui vise à détecter et corriger des éventuelles erreurs

Plus en détail

I) Le temps des matrices. A- A propos des matrices. Quang-Thai NGO Ch 01. Difficulté ** Importance **** Objectifs

I) Le temps des matrices. A- A propos des matrices. Quang-Thai NGO Ch 01. Difficulté ** Importance **** Objectifs Ch01 : Matrice Les matrices ont été introduites récemment au programme des lycées. Il s agit d outils puissants au service de la résolution de problèmes spécifiques à nos classes, en particulier les problèmes

Plus en détail

Méthodes itératives pour la solution d un système linéaire

Méthodes itératives pour la solution d un système linéaire Méthodes itératives pour la solution d un système linéaire Stéphane Canu et Gilles Gasso {stephane.canu, gilles.gasso}@litislab.eu ASI 3 - Calcul numérique pour l ingénieur November 19, 2016 Plan 1 Principe

Plus en détail

Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86

Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86 Portage de l architecture sécurisée CryptoPage sur un microprocesseur x86 Guillaume Duc Ronan Keryell Département Informatique École Nationale Supérieure des Télécommunications de Bretagne Symposium en

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, compression et partitionnement des données Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des

Plus en détail

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/

Machines composées de (depuis 1940 env.) : http://cui.unige.ch/isi/cours/std/ données pr ogramme 11111101 11001101 01000101 b us disque ma gnétique processeur écran Structures de données et algorithmes Ordinateurs Gilles Falquet, printemps-été 2002 Machines composées de (depuis

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

RAPPORT DE STAGE Calcul parallèle sur GPU

RAPPORT DE STAGE Calcul parallèle sur GPU Université Joseph Fourier Département Licence Sciences & Technologie RAPPORT DE STAGE Calcul parallèle sur GPU D Aguanno Carlotta Laboratoire d accueil : INRIA Directeur du laboratoire : GROS Patrick Responsable

Plus en détail

Mathématiques appliquées à l informatique

Mathématiques appliquées à l informatique Mathématiques appliquées à l informatique Jean-Etienne Poirrier 15 décembre 2005 Table des matières 1 Matrices 3 1.1 Définition......................................... 3 1.2 Les différents types de matrices.............................

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence Sciences et Technologies Examen janvier 2010 Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.

Plus en détail

Introduction à l Informatique

Introduction à l Informatique Introduction à l Informatique. Généralités : Etymologiquement, le mot informatique veut dire «traitement d information». Ceci signifie que l ordinateur n est capable de fonctionner que s il y a apport

Plus en détail

Analyse de programmes par interprétation abstraite

Analyse de programmes par interprétation abstraite Analyse de programmes par interprétation abstraite Marc PEGON marc.pegon@ensimag.imag.fr Ensimag - Grenoble INP Encadrants David MONNIAUX Matthieu MOY 1 / 21 Analyse statique : obtenir automatiquement

Plus en détail

Optimisation en nombres entiers

Optimisation en nombres entiers Optimisation en nombres entiers p. 1/83 Optimisation en nombres entiers Michel Bierlaire michel.bierlaire@epfl.ch EPFL - Laboratoire Transport et Mobilité - ENAC Optimisation en nombres entiers p. 2/83

Plus en détail

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire

UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008. 3- Algorithmique...1 3.1 Définition : algorithmique...1. Critère algorithmique élémentaire UEO11 Cours/TDn 2 Algorithmique : bases - 2007-2008 Table des matières 3- Algorithmique...1 3.1 Définition : algorithmique...1 Critère algorithmique élémentaire...1 3.2 De l algorithme au programme...2

Plus en détail

Méthodes avancées en décision

Méthodes avancées en décision Méthodes avancées en décision Support vector machines - Chapitre 2 - Principes MRE et MRS Principe MRE. Il s agit de minimiser la fonctionnelle de risque 1 P e (d) = y d(x;w, b) p(x, y) dxdy. 2 La densité

Plus en détail

Matrices triangulaires Résolution de systèmes linéaires particuliers

Matrices triangulaires Résolution de systèmes linéaires particuliers Matrices triangulaires Résolution de systèmes linéaires particuliers S Canu - G Gasso - B Gaüzère - L Noiret benoitgauzere@insa-rouenfr 18 septembre 2016 Plan 1 Introduction 2 Résolution de systèmes linéaires

Plus en détail

SPLEX Statistiques pour la classification et fouille de données en

SPLEX Statistiques pour la classification et fouille de données en SPLEX Statistiques pour la classification et fouille de données en génomique Classification Linéaire Binaire CLB Pierre-Henri WUILLEMIN DEcision, Système Intelligent et Recherche opérationnelle LIP6 pierre-henri.wuillemin@lip6.fr

Plus en détail

I L AS «Compilation pour les systèmes embarqués» II Méthodes d analyse et d optimisation de programmes

I L AS «Compilation pour les systèmes embarqués» II Méthodes d analyse et d optimisation de programmes I L AS «Compilation pour les systèmes embarqués»...situation et problématique II Méthodes d analyse et d optimisation de programmes...approche collaborative et exemples de techniques Philippe Clauss ICPS-LSIIT,

Plus en détail

Résolution de systèmes linéaires creux par des méthodes directes

Résolution de systèmes linéaires creux par des méthodes directes Résolution de systèmes linéaires creux par des méthodes directes J. Erhel Janvier 2014 1 Stockage des matrices creuses Dans de nombreuses simulations numériques, la discrétisation du problème aboutit à

Plus en détail

Notion de complexité

Notion de complexité 1 de 27 Algorithmique Notion de complexité Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www-igm.univ-mlv.fr/ hivert Outils mathématiques 2 de 27 Outils mathématiques : analyse

Plus en détail

Série notée Sujet 1. Règles et recommandations : Instructions

Série notée Sujet 1. Règles et recommandations : Instructions EIDGENÖSSISCHE TECHNISCHE HOCHSCHULE LAUSANNE POLITECNICO FEDERALE LOSANNA SWISS FEDERAL INSTITUTE OF TECHNOLOGY LAUSANNE Faculté Informatique et Communication Introduction à la POO SIN/SSC Faltings B.

Plus en détail

Algorithmes de descente par blocs pour l apprentissage creux

Algorithmes de descente par blocs pour l apprentissage creux Algorithmes de descente par blocs pour l apprentissage creux Mehdi Meghzifene 11//211 1 Table des matières 1 Introduction 3 1.1 Principe......................................... 3 2 Résolution 4 2.1 Minimisation

Plus en détail

GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com

GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com GPU Computing : début d'une ère ou fin d'une époque? eric.mahe@massiverand.com Plan Génèse du projet OpenGPU Misères et grandeurs des GPUs Quelle place pour OpenCL? Les avancées de l'architecture Kepler

Plus en détail

ParMat : Parallélisation pour la simulation des Matériaux.

ParMat : Parallélisation pour la simulation des Matériaux. : Parallélisation pour la simulation des Matériaux. G. Bencteux (EDF) 3 septembre 2008 Outline 1 2 Un algorithme d ordre N pour les calculs ab initio (DFT/HF) 3 Simulation du dommage d irradiation par

Plus en détail

Calcul Matriciel. Chapitre 10. 10.1 Qu est-ce qu une matrice? 10.2 Indexation des coefficients. 10.3 Exemples de matrices carrées.

Calcul Matriciel. Chapitre 10. 10.1 Qu est-ce qu une matrice? 10.2 Indexation des coefficients. 10.3 Exemples de matrices carrées. Chapitre 10 Calcul Matriciel 101 Qu est-ce qu une matrice? Définition : Soit K un ensemble de nombres exemples, K = N, Z, Q, R, C, n, p N On appelle matrice à n lignes et p colonnes la données de np nombres

Plus en détail

La notion de dualité

La notion de dualité La notion de dualité Dual d un PL sous forme standard Un programme linéaire est caractérisé par le tableau simplexe [ ] A b. c Par définition, le problème dual est obtenu en transposant ce tableau. [ A

Plus en détail

Informatique légale : FPGA vs. GPU

Informatique légale : FPGA vs. GPU Informatique légale : FPGA vs. GPU Sylvain Collange, Yoginder S. Dandass, Marc Daumas et David Defour 03/06/2008 Problématiques Analyse de disque dur Recherche de contenu illégal connu Y compris dans des

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

2 Pivot : mise sous forme triangulaire d une matrice

2 Pivot : mise sous forme triangulaire d une matrice Chapitre 10 : algorithmes de calcul matriciel Motivation : Les algorithmes de résolutions de systèmes linéaires et de calcul sur les matrices seront implémentés par vous-mêmes en T.P. Le but de ces notes

Plus en détail

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes. Promotion X 004 COURS D ANALYSE DES STRUCTURES MÉCANIQUES PAR LA MÉTHODE DES ELEMENTS FINIS (MEC 568) contrôle non classant (7 mars 007, heures) Documents autorisés : polycopié ; documents et notes de

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Chapitre 1 Architecture des calculateurs 1.1 Introduction Ce paragraphe n a pas la prétention de présenter un cours d informatique. D une manière générale, seuls les caractéristiques architecturales qui

Plus en détail

Projet Pratique de INF241 Parcours de Tableaux

Projet Pratique de INF241 Parcours de Tableaux Projet Pratique de INF241 Parcours de Tableaux L objectif de ce projet est de travailler sur les tableaux en langage d assemblage ARM. Vous devez réaliser votre projet en partie lors des séances encadrées

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot

Architecture des ordinateurs. Mémoires (II) Licence Informatique - Université de Provence. Jean-Marc Talbot Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Mémoires jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des ordinateurs 120

Plus en détail

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce

Heuristique et métaheuristique. 8. Optimisation combinatoire et métaheuristiques. Optimisation combinatoire. Problème du voyageur de commerce Heuristique et métaheuristique IFT1575 Modèles de recherche opérationnelle (RO) 8. Optimisation combinatoire et métaheuristiques Un algorithme heuristique permet d identifier au moins une solution réalisable

Plus en détail

BE de programmation OpenMP

BE de programmation OpenMP BE-OpenMP Page 1 of 2 Calcul parallèle et distribué, et Grilles de calculs Cours de 3ème année IIC à Supélec BE de programmation OpenMP Objectifs du Bureau d'etude : (parallélisation en mémoire partagée)

Plus en détail

Architecture des GPU et principes de base de CUDA

Architecture des GPU et principes de base de CUDA M2 Informatique/SSSR - ALA Architecture des GPU et principes de base de CUDA Stéphane Vialle Stephane.Vialle@centralesupelec.fr http://www.metz.supelec.fr/~vialle Architecture des GPU et principes de base

Plus en détail

LOGICIEL AUX ÉLÉMENTS FINIS H2D2 : VALIDATION DE LA FORMULATION DES ÉQUATIONS DE SAINT-VENANT. Rapport de recherche R-1023 Septembre 2008

LOGICIEL AUX ÉLÉMENTS FINIS H2D2 : VALIDATION DE LA FORMULATION DES ÉQUATIONS DE SAINT-VENANT. Rapport de recherche R-1023 Septembre 2008 LOGICIEL AUX ÉLÉMENTS FINIS H2D2 : VALIDATION DE LA FORMULATION DES ÉQUATIONS DE SAINT-VENANT Rapport de recherche R-1023 Septembre 2008 ii LOGICIEL AUX ÉLÉMENTS FINIS H2D2 : VALIDATION DE LA FORMULATION

Plus en détail

ALGORITHMES POUR LA VISUALISATION SCIENTIFIQUE

ALGORITHMES POUR LA VISUALISATION SCIENTIFIQUE BAZEILLE Stéphane MOUGEL Baptiste IUP3 ALGORITHMES POUR LA VISUALISATION SCIENTIFIQUE EN Année 2003/2004 1 TABLE DES MATIERES Home... 3 Introduction.... 3 Marching Square... 4 Algorithme....4 Programmation...4

Plus en détail

Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de

Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de Le mot «algorithme» vient du nom de l auteur persan Al-Khuwarizmi (né vers 780 - mort vers 850) Une définition: «un algorithme est une suite finie de règles à appliquer dans un ordre déterminé à un nombre

Plus en détail

Restauration d images

Restauration d images Restauration d images Plan Présentation du problème. Premières solutions naïves (moindre carrés, inverse généralisée). Méthodes de régularisation. Panorama des méthodes récentes. Problème général Un système

Plus en détail

Cours Info - 12. Représentation des nombres en machine. D.Malka MPSI 2014-2015. D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45

Cours Info - 12. Représentation des nombres en machine. D.Malka MPSI 2014-2015. D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45 Cours Info - 12 Représentation des nombres en machine D.Malka MPSI 2014-2015 D.Malka Cours Info - 12 MPSI 2014-2015 1 / 45 Sommaire Sommaire 1 Bases de numération par position 2 Représentation des entiers

Plus en détail

Les systèmes RAID Architecture des ordinateurs

Les systèmes RAID Architecture des ordinateurs METAIS Cédric 2 ème année Informatique et réseaux Les systèmes RAID Architecture des ordinateurs Cédric METAIS ISMRa - 1 - LES DIFFERENTS SYSTEMES RAID SOMMAIRE INTRODUCTION I LES DIFFERENTS RAID I.1 Le

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Support Vector Machines

Support Vector Machines Support Vector Machines Séparateurs à vaste marge Arnaud Revel revel.arnaud@gmail.com Plan 1 Introduction 2 Formalisation 3 Utilisation des noyaux 4 Cas multi-classes 5 Applications des SVM 6 Bibliographie

Plus en détail

Université Joseph Fourier MAT231 2008-2009

Université Joseph Fourier MAT231 2008-2009 Université Joseph Fourier MAT231 2008-2009 mat231-exo-03.tex (29 septembre 2008) Feuille d exercices n o 3 Exercice 3.1 Soit K un corps commutatif et soit {P 0, P 1,... P n } une famille de polynômes de

Plus en détail

Programmation avancée

Programmation avancée Programmation avancée Chapitre 1 : Complexité et les ABR (arbres binaires de recherche) 1 1 IFSIC Université de Rennes-1 M2Crypto, octobre 2011 Plan du cours 1 2 3 4 5 6 7 8 9 10 Algorithmes Définition

Plus en détail

Licence STIC, Semestre 1 Algorithmique & Programmation 1

Licence STIC, Semestre 1 Algorithmique & Programmation 1 Licence STIC, Semestre 1 Algorithmique & Programmation 1 Exercices Alexandre Tessier 1 Introduction 2 instruction de sortie 3 expressions 4 variable informatique 5 séquence d instructions, trace Exercice

Plus en détail

TD 3 : Problème géométrique dual et méthode des moindres carrés

TD 3 : Problème géométrique dual et méthode des moindres carrés Semestre, ENSIIE Optimisation mathématique 4 mars 04 TD 3 : Problème géométrique dual et méthode des moindres carrés lionel.rieg@ensiie.fr Exercice On considère le programme géométrique suivant : min x>0,y>0

Plus en détail

Exercices théoriques

Exercices théoriques École normale supérieure 2008-2009 Département d informatique Algorithmique et Programmation TD n 9 : Programmation Linéaire Avec Solutions Exercices théoriques Rappel : Dual d un programme linéaire cf.

Plus en détail

Analyse statique de SCADE par interprétation abstraite

Analyse statique de SCADE par interprétation abstraite Analyse statique de SCADE par interprétation abstraite soutenance de stage Alex AUVOLAT ANSYS-Esterel Technologies sous l encadrement de Jean-Louis Colaço Juin-Juillet 2014 1/33 Introduction SCADE : programmation

Plus en détail

Quelques méthodes numériques en mathématique

Quelques méthodes numériques en mathématique Quelques méthodes numériques en mathématique programmées sous SCILAB. K.Barty 29 avril 2004 Table des matières 1 Résolution de systèmes linéaires 1 1.1 Élimination de Gauss..............................

Plus en détail

1.1 Définitions... 2 1.2 Opérations élémentaires... 2 1.3 Systèmes échelonnés et triangulaires... 3

1.1 Définitions... 2 1.2 Opérations élémentaires... 2 1.3 Systèmes échelonnés et triangulaires... 3 Chapitre 5 Systèmes linéaires 1 Généralités sur les systèmes linéaires 2 11 Définitions 2 12 Opérations élémentaires 2 13 Systèmes échelonnés et triangulaires 3 2 Résolution des systèmes linéaires 3 21

Plus en détail

Comment un ordinateur fonctionne Processeur

Comment un ordinateur fonctionne Processeur Comment un ordinateur fonctionne Processeur Les processeurs Cerveau de l ordinateur Règle flux d information par intermédiaire du bus Détermine puissance de l ordi (486, Pentium, ) Vitesse définit par

Plus en détail

Support matériel, logiciel et cryptographique pour

Support matériel, logiciel et cryptographique pour Support matériel, logiciel et cryptographique pour une exécution sécurisée de processus Guillaume Duc Thèse dirigée par Jacques Stern (Ens Ulm) et encadrée par Ronan Keryell (Enst Bretagne) Journées des

Plus en détail

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012 NVIDIA CUDA Compute Unified Device Architecture Sylvain Jubertie Laboratoire d Informatique Fondamentale d Orléans 2011-2012 Sylvain Jubertie (LIFO) NVIDIA CUDA 2011-2012 1 / 58 1 Introduction 2 Architecture

Plus en détail

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,...

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,... Rappels, SISD, SIMD Calculateurs hybrides (GPU-OpenCL) Rappels... SISD,... SIMD Formation d Ingénieurs de l Institut Galiléee MACS 3 Philippe d Anfray Philippe.d-Anfray@cea.fr CEA DSM 2013-2014 SISD :

Plus en détail

Calcul scientifique haute performance sur GPUs.

Calcul scientifique haute performance sur GPUs. Calcul scientifique haute performance sur GPUs. David Michéa(1), Dimitri Komatitsch(2,3), Gordon Erlebacher(4) and Dominik Göddeke(5) Portage de SPECFEM3D (SEM) sous CUDA + MPI Portage CUDA du code différences

Plus en détail

Factorisation des matrices creuses

Factorisation des matrices creuses Chapitre 5 Factorisation des matrices creuses 5.1 Matrices creuses La plupart des codes de simulation numérique en mécanique des fluides ou des structures et en électromagnétisme utilisent des discrétisations

Plus en détail

Une bibliothèque de templates pour CUDA

Une bibliothèque de templates pour CUDA Une bibliothèque de templates pour CUDA Sylvain Collange, Marc Daumas et David Defour Montpellier, 16 octobre 2008 Types de parallèlisme de données Données indépendantes n threads pour n jeux de données

Plus en détail

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Retour d expérience RATP Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats. Les intervenants Alexis Bourgeois Chef de projet MOE (front web)

Plus en détail

Résolution générique à la volée de systèmes d équations booléennes et applications

Résolution générique à la volée de systèmes d équations booléennes et applications Résolution générique à la volée de systèmes d équations booléennes et applications Radu Mateescu INRIA Rhône-Alpes / VASY Plan Introduction Systèmes d équations booléennes d alternance 1 Algorithmes de

Plus en détail

multigrilles algébriques.

multigrilles algébriques. Méthodes multigrilles géométriques et multigrilles algébriques. Institut Camille Jordan Université Lyon 1 1 Méthodes multigrilles géométriques 2 3 Itération multigrille A u = F? Itération multigrille A

Plus en détail

1 Un programme pour le produit de matrices

1 Un programme pour le produit de matrices Chapitre 14 : algorithmes de calcul matriciel Motivation : Les algorithmes de résolutions de systèmes linéaires et de calcul sur les matrices seront implémentés par vous-mêmes en T.P. Le but de ces notes

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. 1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le

Plus en détail

Comment programmer de façon e cace et quelques particularités de Matlab

Comment programmer de façon e cace et quelques particularités de Matlab Comment programmer de façon et quelques particularités de 6-601-09 Simulation Monte Carlo Geneviève Gauthier HEC Montréal et les 1 et les Peu importe le langage utilisé, il y a deux composantes importantes

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Systèmes de Fichiers

Systèmes de Fichiers Systèmes de Fichiers Hachage et Arbres B Serge Abiteboul INRIA February 28, 2008 Serge Abiteboul (INRIA) Systèmes de Fichiers February 28, 2008 1 / 26 Systèmes de fichiers et SGBD Introduction Hiérarchie

Plus en détail

Corrigé du contrôle Continu du Lundi 2 Mars Durée : 1h30

Corrigé du contrôle Continu du Lundi 2 Mars Durée : 1h30 UNIVERSITÉ de NICE - SOPHIA ANTIPOLIS UFR SCIENCES - LM/MI Méthodes numériques et formelles 4-5 Corrigé du contrôle Continu du Lundi Mars 5 - Durée : h3 Les documents, calculatrices, téléphones ne sont

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Exclusion mutuelle par attente active Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud

Plus en détail