HPDA – High Performance Data Analytics track

Master of computer science

HPDA curriculum

The HPDA track is a two-years program with mandatory courses on core topics (operating systems, parallel programming), and optional courses that target either HPC applications (numerical simulation and modeling, …) or AI applications (Machine learning, data mining, …) In addition to a few mandatory courses, students are free to select courses based on their prefered topics.

Since the courses are provided by several schools (Ecole Polytechnique, ENSTA, Télécom Paris, and Télécom SudParis) whose teaching periods may differ, we advise students to choose courses from Polytechnique during M1, and courses from ENSTA, Télécom Paris, or Télécom SudParis during M2.

M1 courses

Master 1 schedule is based on Polytechnique's Master 1 HPC. Students have to choose 60 ECTS among the following courses.

Additionally, students can pick courses (up to 7.5 ECTS) from other master track (such as master PDS, or master DataIA)

M2 courses

Master 2 schedule uses mostly courses from ENSTA, Télécom Paris, and Télécom SudParis. Students can also choose courses from Polytechnique, but since the periods dates are different, scheduling conflicts may appear.

Students have to choose 30 ECTS among the following courses. The Master 2 programs ends with a 6-months research internship.

  • First period (september-october)
    • Mandatory courses
    • Non-mandatory courses
      • Warning: Invalid ModuleId PAAM
      • Warning: Invalid ModuleId TPT-DATAAI921
      • Warning: Invalid ModuleId TPT-DATAAI922
      • AMS304: Numerical methods and modern algorithms for solving integral equations (Stephanie Chaillat, 5 ECTS)

        Calendar: http://www-inf.telecom-sudparis.eu/COURS/masteripparis/hpda/?page=curriculum&genics=AMS304

        Waves that propagate in our environment are both a tool to investigate the world around us (non-destructive testing, radar or telescopes), and a mean to transmit informations (music, radio). In the first part of the course, we will first establish the acoustic equations; We will then describe the use of elementary solutions for the representation of fields. We then establish integral equations. In the second part, we will study the various methods to solve boundary integral equations. In particular, modern algorithms for the fast solution of these systems will be presented.

      • ROB306: Accélérateurs matériels et programmation (Omar Hammami, 2,5 ECTS)

        Calendar: http://www-inf.telecom-sudparis.eu/COURS/masteripparis/hpda/?page=curriculum&genics=ROB306

        Les objectifs de ce cours sont doubles: 1. maitriser les techniques de modélisation de circuits numériques à base de langage de description matériel de haut niveau (C/C++/SystemC) ainsi que les flots de transformation en un circuit physique 2. maitriser les technologies de circuits numériques reprogrammables de type FPGA. Ces circuits qui connaissant un essor spectaculaire ces dernières années sont très largement utilisés dans les applications embarquées en particulier pour leur capacité a accélerer les calculs. Ces deux points réunis permettront la conception et l'implémentation de circuits pour fonctionnalités multiples sur composants reprogrammables. Les circuits FPGA sont aussi fortement utilisés en vérification de systèmes électroniques par émulation.

  • Second period (november-february)
    • Mandatory courses
    • Non-mandatory courses
      • CSC5004: Cloud infrastructures (Pierre Sutra and Gaël Thomas, 5 ECTS)

        Web page: https://github.com/otrack/cloud-computing-infrastructures
        Calendar: http://www-inf.telecom-sudparis.eu/COURS/masteripparis/hpda/?page=curriculum&genics=CSC5004

        This course presents cloud infrastructures in order to:

        • acquire an overview of Cloud computing (e.g., data centers, everything-as-a-service, on-demand computing, cloud economy model)
        • apprehend the fundamental notions in Cloud computing (e.g., fault-tolerance, elasticity, scalability, load balancing)
        • understand how virtualization works (VM, container)
        • deconstruct and classify a distributed data store
        • recognize data consistency problems and know common solutions

        In details, a student will learn how to:

        • deploy and maintain IaaS
        • construct base data storage services (e.g., key-value store, coordination kernels)
        • construct and deploy a micro-service architecture
        • think for dependability & scalability

      • IA317: Large scale machine learning (Thomas Bonald, 2,5 ECTS)

        Calendar: http://www-inf.telecom-sudparis.eu/COURS/masteripparis/hpda/?page=curriculum&genics=IA317

        On considère la problématique du passage à l'échelle en machine learning. Il s'agit de comprendre et d'apprendre à implémenter les principales approches permettant de résoudre numériquement des problème d'apprentissage statistique supervisé. Plusieurs angles seront abordé : réduction de la dimension et sélection des features, utilisation d'algorithmes d'optimisation adaptés, et utilisation d'outils informatiques distribués permettant de porter les calculs sur un cluster.

      • IA307: GPU programming for learning (Goran Frehse and Élisabeth Brunet, 2 ECTS)

        Web page: https://sites.google.com/site/frehseg/teaching/ia307
        Calendar: http://www-inf.telecom-sudparis.eu/COURS/masteripparis/hpda/?page=curriculum&genics=IA307

        The aim of this course is to give a vision of algorithms and their implementations in modern machine learning libraries on neural networks. In particular, the use of specific hardware, such as graphics cards, to improve performance is at the heart of these libraries. It is important to understand how the calculations are shared between the hardware and the CPU.

      • AMS-X02: Advanced numerical methods and high-performance computing for simulating complex phenomena (Marc Massot, 5 ECTS)

        Calendar: http://www-inf.telecom-sudparis.eu/COURS/masteripparis/hpda/?page=curriculum&genics=AMS-X02

        Dans un nombre croissant d'applications, scientifiques ou industrielles, la simulation numérique joue un rôle clef pour comprendre et analyser les phénomènes physiques complexes. Elle permet aussi de prédire le fonctionnement de dispositifs comme les chambres de combustion aéronautiques dans l'optique d'une conception avancée. La complexité des systèmes et la taille des simulations multi-dimensionnelles rendent l'utilisation du calcul haute performance nécessaire. Ce cours propose dans un premier temps une présentation des enjeux que pose la modélisation des systèmes complexes pour les méthodes numériques et la simulation et un état de l'art des nouvelles architectures de calcul et des modèles de programmation parallèle. Après avoir rappelé les bases de l'analyse numérique des EDP pour les problèmes multi-échelles, nous proposons d'explorer quelques méthodes numériques avancées conçues pour traiter la raideur présente dans ces modèles complexes tout en tirant le meilleur parti des nouvelles architectures de calcul. Ces méthodes s'appuient sur une combinaison efficace entre analyse numérique, modélisation et calcul scientifique. Des séances de mise en oeuvre sur machines en lien avec un mésocentre de calcul seront proposées.
        Contenu:
        • Modélisation mathématique des systèmes complexes multi-échelles.
        • Définition de la notion de calcul haute performance et synthèse sur les nouvelles architectures de calcul et modèles de programmation parallèle.
        • Analyse numérique des EDP multi-échelles (Décomposition de domaine, séparation d'opérateur...).
        • Présentation et analyse de méthodes numériques avancées (multi-résolution adaptative et séparation d'opérateur avec adaptation temps/espace, algorithme pararéel, méthodes préservant l'asymptotique,...).
        • TP sur machine parallèle avec fourniture de codes de calcul à titre d'exemple pour chaque méthode.

      • ROB307: MPSOC Multiprocesseurs sur puce (Omar Hammami, 2,5 ECTS)

        Calendar: http://www-inf.telecom-sudparis.eu/COURS/masteripparis/hpda/?page=curriculum&genics=ROB307

        La conception de systèmes embarqués génère des systèmes complets comprenant des parties logicielles et matérielles indissociables et concues conjointement. Les systèmes résultants sont de manière quasi systématique amenés a résider sur une seule puce d'ou leurs appellation de systèmes sur puce. Les méthodologies de conception de Systèmes sur Puce (SOC - System on Chip) sont un outil indispensable pour un ingénieur amène a concevoir un système embarqué pour déterminer les possibilités offertes par la technologie pour réaliser le système étudié sous les contraintes spécifiés. Le cours introduit les méthodologies de conception de SOC et leurs applications dans des exemples industriels avec une focalisation sur les MPSOC (Multiprocessors System on Chip) et les NOCs (Network on Chip).

  • Third period (March-august)
    • Mandatory courses
      • Internship: 6-month M2 research internship (30 ECTS)