Programme Ecole ICI

INSCRIPTION Journée Calcul Intensif


L'inscription est gratuite mais obligatoire en raison du nombre limité de places. Dates importantes :

  • 28 avril 2015 : ouverture des demandes d'inscription en envoyant le formulaire dûment rempli à l'adresse lab.litio@gmail.com.
  • 15 mai 2015 : date limite de réception des formulaires.
  • 17 mai 2015 : notification aux demandes.
  • 31 mai 2015 : Ecole "Calcul Intensif".
Journée Calcul Intensif
Dimanche 31 Mai 2015
Université Oran 1, Ahmed Ben Bella

Pour appréhender la quantité volumineuse d'informations numériques et la complexité des systèmes à concevoir, le calcul intensif (HPC -"High Performance Computing") est devenu incontournable pour paralléliser les calculs afin de les exécuter plus rapidement. Cette journée, organisée en collaboration avec l'Unité de Calcul Intensif de l'Université d'Oran 1, s'adresse aux doctorants, aux enseignants/chercheurs et aux ingénieurs en entreprises. Au programme de cette journée :

  • Une matinée dédiée aux bases de la programmation parallèle : architectures des calculateurs parallèles, modèles de la programmation parallèle, mesure de l'efficacité du parallélisme.
  • L'après-midi : Des tutoriaux sur des travaux de recherche aboutie exploitant le calcul parallèle. Dans chaque tutoriel, il sera question de montrer les technologies et les bonnes pratiques en calcul parallèle, qui ont permis de contribuer significativement dans la résolution du problème posé.

  • A travers la programmation de cette journée dédiée au calcul intensif, les organisateurs espèrent aussi renforcer la coopération des chercheurs de différentes spécialités telles que l'informatique, les mathématiques, la physique et la chimie autour du calcul scientifique à haute performance et ses différents aspects, à savoir la parallélisation et l'analyse des programmes.

    Organisateur
    Professeur Yahia Lebbah, Université Oran 1, Ahmed Ben Bella (Algérie)

Tutoriaux de la journée

 

  • Synthesis for the Real World
  • Youssef Hamadi.  Microsoft Research Cambridge (MSRC), UK.

  • Bases de la programmation parallèle
  • Noureddine Melab. Université Lille 1, France.

  • B&B parallèle pour la résolution de problèmes de permutation
  • Mohand Mezmaz. UMONS, Belgique.

  • Traitement Temps Réel d'Images et de Vidéos de Haute Définition sur GPU Multiples
  • Sidi Ahmed Mahmoudi. UMONS, Belgique.


    Synthesis for the Real World

    Abstract : I will present results from recent research carried out at Microsoft Research and Ecole Polytechnique. I will show how large scale cloud-based optimization can be used to synthesize more efficient buildings. I will expose how we can efficiently synthesize developmental rules for sea-urchin embryos. Finally, I will show how we can help professional programmers practically perform code synthesis by automatically retrieving relevant code snippets.
    Biography: Youssef Hamadi's research interests involve the practical resolution of large scale real life problems. His work is set at the intersection of Optimisation and Artificial Intelligence. He completed his PhD at the University of Montpellier (LIRMM), devising new algorithms for distributed constraint solving. In 2013, he defended an Habilitation on the concept of Autonomous Search at the University of Paris Sud (XI). In 2000, he joined the central research laboratory of Thales in Paris where he was in charge of the online scheduling algorithm for the Principal Anti-Air Missile System (PAAMS). In 2001, he worked at HP-labs, on agent negotiation and e-commerce protocols. He joined Microsoft Research in 2003 to create and lead the Constraint Reasoning Group. The group had strong impact on existing Microsoft products and tools, and eventually led to the creation of the Microsoft Solver Foundation. In 2006, Youssef started to work on the relationships between mathematical programming and Sust ainability. That reflection led to the creation of the Microsoft/CNRS Optimization for Sustainable Development research program. Since 2009, Youssef Hamadi is Associate Researcher at École Polytechnique. His current focus is on Synthesis, Computational Biology, and Autonomous Theorem Provers.

    hamadi.png

    Youssef Hamadi

    Microsoft Research Cambridge (MSRC), UK.

    Home page




    Bases de la programmation parallèle

    La simulation numérique est au coeur de la démarche scientifique à côté de la théorie et de l'expérience. Face à l'évolution grandissante de la complexité des systèmes simulés dans de nombreux domaines académiques et industriels, le calcul parallèle devient de plus en plus incontournable. Avec la prolifération et la diversité des architectures parallèles (processeurs multi-coeurs, accélérateurs graphiques, etc.) on peut considérer aujourd'hui que "le pari du hardware est gagné", leur programmation efficace demeure cependant un défi scientifique et technologique. L'objectif de ce cours, illustré avec des exemples pratiques, est de présenter les bases de la programmation parallèle en passant en revue notamment (1) les différents niveaux/types (hiérarchiques) de parallélisme fournis dans les architectures parallèles modernes (multi-instruction, multicore, manycore, multiprocessor, multi-cluster) ; (2) les paradigmes de programmation associés (parallélisme de données, parallélisme de tâches/threads, mémoire partagée, passage de messages, etc.) ; (3) les problèmes fondamentaux du parallélisme (partitionnement de tâches/données, régulation de charge, ordonnancement, tolérance aux pannes, mesure de performance, etc.) ; (4) les outils et librairies logiciels fournissant leur spécification et/ou implémentation (OpenMP et Pthreads, MPI, Cuda et OpenCL, ...) ; (5) l'hybridation des différents modèles/environnements parallèles pour l'exploitation du parallélisme hiérarchique à plusieurs niveaux (MPI/OpenMP, OpenMP/Cuda, etc.).

    melab.png

    Noureddine Melab

    Université Lille 1, France.

    Home page




    B&B parallèle pour la résolution de problèmes de permutation

    De nombreux problèmes rencontrés dans différents secteurs économiques sont des problèmes d'optimisation combinatoire. Ces problèmes sont souvent NP-difficiles et de grande taille. L'algorithme Branch-and-Bound (B&B) est l'une des méthodes les plus utilisées pour résoudre de façon exacte ce type de problèmes. Cependant, lorsqu'il s'agit de résoudre des instances de grande taille son coût de calcul est exorbitant rendant sa parallélisation indispensable. Dans ce tutoriel, il s'agit de revisiter l'algorithme B&B sur différentes architectures parallèles notamment les processeurs multi-coeurs, les accélérateurs graphiques de type GPU, et les clusters de calcul hybrides. Les problèmes de permutation seront considérés en particulier le problème d'ordonnancement de type Flow-Shop. La nature hautement irrégulière de B&B appliqué au Flow-Shop pose plusieurs défis scientifiques et techniques lors de sa parallélisation sur les architectures ci-dessus notamment la définition des unités de travail, l'optimisation de la mémoire, la divergence de threads, l'optimisation des communications, l'équilibrage de charge, la tolérance aux pannes, et le passage à l'échelle. Des approches permettant de relever efficacement ces défis seront présentées. Ces approches ont été validées par de nombreuses expérimentations qui seront présentées. Dan ce tutoriel, un intérêt particulier sera porté aux structures de données utilisées pour le stockage et la gestion des nombreux sous-problèmes générés pendant l'exploration. Une nouvelle structure de données appelée Integer-Vector-Matrix (IVM) dédiée aux problèmes de permutation sera présentée. On montrera comment les opérateurs de B&B et leur parallélisation ont été repensés pour IVM.

    mezmaz.png

    Mohand Mezmaz

    UMONS, Belgique. .

    Home page




    Traitement Temps Réel d'Images et de Vidéos de Haute Définition sur GPU Multiples

    Ce tutoriel vise à présenter comment exploiter, de manière efficace, les architectures parallèles (GPU) et hétérogènes (Multi-CPU/Multi-GPU) dans le but d'améliorer les performances des méthodes de traitement d'objets multimédias, telles que celles utilisées dans des algorithmes de traitement d'images et de vidéos de haute définition, des applications médicales ainsi que l'analyse et le suivi de mouvements en temps réel. L'intérêt pour l'accélération de ces méthodes est dû principalement à l'augmentation de l'intensité de calcul de ce type d'applications, et à la forte croissance de la taille des objets multimédias (HD/Full HD) ces dernières années.
    Nous proposons un schéma de développement conçu pour le traitement d'objets multimédias (image unique, images multiples, vidéos multiples, vidéo en temps réel) basé sur l'exploitation de l'intégralité de la puissance de calcul des machines hétérogènes. Ce schéma permet de choisir les ressources à utiliser (CPU ou/et GPU) ainsi que les méthodes à appliquer selon la nature des médias à traiter et la complexité des algorithmes. Le modèle proposé s'appuie sur des stratégies d'ordonnancement efficaces assurant une exploitation optimale des ressources hybrides. Il permet également de réduire les temps de transfert de données grâce à une gestion efficace des mémoires GPU ainsi qu'au recouvrement des copies de données par les fonctions d'exécution sur les GPU multiples. Ce modèle est utilisé pour la mise en oeuvre de plusieurs algorithmes tels que l'extraction efficace de contours, la détection de points d'intérêt, la soustraction d'arrière-plan (background), la détection des silhouettes et le calcul des vecteurs du flot optique permettant l'estimation du mouvement. Ces mises en oeuvre ont été exploitées pour accélérer différentes applications telles la segmentation des vertèbres dans des images médicales, l'indexation de séquences vidéo, le suivi du regard ainsi que le suivi de mouvements en temps réel à partir d'une caméra mobile. Des résultats expérimentaux ont été obtenus par l'application du modèle proposé sur différents types de médias (images et vidéos HD/Full HD, bases d'images médicales). Ces résultats montrent des accélérations globales allant d'un facteur de 5 à 150 par rapport à une implémentation séquentielle sur CPU. A la fin de ce tutoriel, une démonstration des résultats sera présentée sous forme de séquences vidéo montrant des traitements de vidéos HD/Full HD en temps réel.

    mahmoudi.png

    Sidi Ahmed Mahmoudi

    UMONS, Belgique.

    Home page