Algorithmes parallèles

Slides:



Advertisements
Présentations similaires
L’INFORMATIQUE Mihalcea Cezar.
Advertisements

ACTIVITES RAPIDES Collège Jean Monnet Préparez-vous ! Série 1B.
Modèle CDFG une proposition pour débattre...
DECLARATION DE VARIABLES
Quelle heure est-il?. Il est … Trois heures Quelle heure est-il? Il est … Deux heures.
Cours d’Algorithmique
Cours d’Algorithmique
ACTIVITES RAPIDES Collège Jean Monnet Préparez-vous ! Série 1A.
Calculs numériques en Prolog
ACTIVITES MENTALES Collège Jean Monnet Préparez-vous !
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
4. Les structures de tests
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Module 6 : Programmation dynamique
1)Boucle for 2)Boucle while
Nous allons vous présenter: - Photoshop - Algorithme et programmation
Semaine #1 INF155 par Frédérick Henri.
Python La structure alternative
La structure conditionnelle simple
Récursivité.
Diagrammes d’activités
Les dates Recherche d’un algorithme pour déterminer si une année est bissextile ou non.
Les structures de contrôle conditionnelles
Efficient Code Generation for Automatic Parallelization and
Introduction à la récursivité
Démonstration de géométrie
Bases de la programmation en C++ 1 Les enchaînementsdinstruction Séquentiels. Exécutions dinstructions les unes à la suite des autres. Instructions séparées.
Spawn Team 1Spawn Team 2 Tour 2 Tour 1 Tours Korolyov By hf. For hf.
Introduction à l’algorithmique
Semaine #1 INF130 par Frédérick Henri.
CSI2520, Hiver 2007 Python Un langage de programmation par scripting et plus…
Algorithmique (Introduction)
1 La récursion. Nous avons vu qu'un programme est constitué d'un ensemble de fonctions. Il est possible pour une fonction donnée d'appeler une autre fonction.
Chapitre 9 Les sous-programmes.
8INF856 Algorithmes parallèles. Le langage parallèle Cilk Trois nouveaux mots clés: 1.spawn 2.sync 3.Parallel Si on enlève ces mots clés, on obtient un.
ECP – Option SA Henri Fallon
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Structures alternative et répétitive
Python Fonction et procédure
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Efficient Code Generation for Automatic Parallelization and Optimization Cédric Bastoul Proposé par : Albert Cohen Présenté par : L.Landwerlin, J.Rahme,
Algorithmique Les structures Rappel L'enchaînement séquentiel
CSI2520  cdr vers le bas, cons vers le haut (define (traite-liste L) (if (null? L) () (cons (traite (car L)) (traite-liste (cdr L)))))
Les Contrôles Page 1. Page 2 If … Elseif... Endif If … Endif if (i=5 and j
I.1) Climatologies Moyennes Les trois couches de l'Atmosphère neutre (z
1 Algorithmique et programmation en Itérations (boucles) Types numériques simples (suite)
Algorithmique et programmation en
Algorithmes sur les sons
Les tests.
Régulation de charge Jean-Louis Roch Projet APACHE Laboratoire ID - IMAG École ParDi Oujda - Octobre 1999.
Démonstration de géométrie Par Elise Aubry Nous allons démontrer que : Deux plans parallèles à un même troisième sont parallèles entre eux.
Code Obfuscator Robin Franzi & Amine Derbel T
Les structures conditionnelles en PHP
UMR 7619 Sisyphe Avril 2012 Alexandre Pryet Le langage une introduction pragmatique Cacul itératif.
CSI2520 Un langage de programmation par scripting orienté-objet (et fonctionnel)
Tutorat en bio-informatique Le 5 décembre Au programme… MAT1400 Algorithmes de tri dans un tableau (suite)
Les langages de programmation
1. Tout rayon passant par le centre optique n’est pas dévié.
La récursivité Mireille Goud HEG Vd AlgSD - Résurisivité.
Divination En quoi consiste ce tour?
UE MAREP Cours 8 : La pile d’exécution (Fonctions imbriquées et fonctions récursives) Patricia Renault UPMC 2005/2006.
Un Docteur Intelligent Intéressant Difficile Social Soins Utile Instructive.
Les processeurs.
Calcul mental.
 Deux lampes identiques en parallèle
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
REPARTITION DU COURANT  Deux lampes différentes  Trois lampes différentes  Conclusion Leçon+ ex n°18 page 90 ex n°21 page 90 Séquence n°Date:
Capocasale & Droz. Exécuter une fonction en parallèle Utilisation de plusieurs fonctions en parallèles pour obtenir un résultat Accès à des ressources.
Seconde 8 Module 12 M. FELT 08/12/ Module 12: Algorithmique #3  Objectif:  Instruction conditionnelle 2.
Disposition de titre et de contenu avec liste  Ajouter votre premier point ici  Ajouter votre deuxième point ici  Ajouter votre troisième point ici.
Transcription de la présentation:

Algorithmes parallèles 8INF433 Algorithmes parallèles

Algorithmes parallèles Trois nouvelles instructions: spawn sync parallèle

Exemple: Fibonacci P-Fib(n) if n<=1 return n else x = spawn P-Fib(n-1) y = P-Fib(n-2) sync return x+y

Exemple: Fibonacci

Mesures de performance Travail (work): temps séquentiel Durée (span): temps parallèle TP: temps d’exécution sur P processeurs T1: travail T∞:durée Loi du travail: TP ≥ T1/P Loi de la durée: TP ≥ T∞ Parallélisme: T1/T∞ ≥ T1/Tp (accélération)

Analyse de P-Fib T1(n) = θ(ϕn) où ϕ est le nombre d’or T∞(n) = max(T∞(n-1), T∞(n-2)) + θ(1) = T∞(n-1) + θ(1) = θ(n) Parallélisme: θ(ϕn/n)

Boucles parallèles Exemple: On veut multiplier une matrice M par un vecteur x Mat-Vec(M,x,n) parallèle for i=1 to n do y[i]=0 for j=1 to n do y[i] = y[i] + M[i,j]*x[j] return y

Implémentation des boucles parallèles On implémente les boucles parallèles à l’aide de l’instruction spawn: Mat-Vec-Main-Loop(M,x,y,n,d,f) if (d==f) for j=1 to n do y[d] = y[d] + M[d,j]*x[j] else m = (d+f)/2 spawn Mat-Vec-Main-Loop(M,x,y,n,d,m) Mat-Vec-Main-Loop(M,x,y,n,m+1,f) sync

Implémentation des boucles parallèles

Analyse de Mat-Vec(A,x,n) Travail: θ(n2) Durée: Total: θ(n) Parallélisme: θ(n2/n) = θ(n) Mat-Vec(M,x,n) parallèle for i=1 to n do y[i]=0 for j=1 to n do y[i] = y[i] + M[i,j]*x[j] return y Θ(lg n) Θ(lg n) + θ(n) Θ(1)

Multiplication matricielle (1) P-Square-Matrix-Multiply(A,B,n) parallèle for i=1 to n do parallèle for j=1 to n do C[i,j]=0 for k=1 to n do C[i,j] = C[i,j] + A[i,k]*B[k,j] return C

Multiplication matricielle (2)