Recherche étudiant pour thèse ! Urgent !

Je recherche un candidat pour une thèse qui commencera le plus tôt possible. Le résumé du sujet est le suivant :

Les librairies de calcul scientifique sont intensivement utilisées pour le calcul scientifiques haute performance. Beaucoup de noyaux de calculs sont clairement identifiés (algèbre linéaire, transformée de Fourier, convolutions, etc). Linpack, FFTW, Spiral, MAGMA font partie des librairies connues dans ce domaine.

La performance de ces librairies dépend des données qu’elle manipule, et l’impact des données manipulées est plus grand que l’efficacité des optimisations statique de code, dont l’optimisation n’est valable que pour un seul type de données.

Le sujet de cette thèse sera de trouver une façon d’exprimer un algorithme de calcul, et un moyen de générer le code dynamiquement en fonction des données qu’il manipule afin de générer un code qui utilisera toutes les ressources d’un processeur dans le plus grand nombre de cas possible.

Les architectures visées seront des architectures avec plusieurs niveau de parallélisme : ILP, pipeline long, multithread, multi-coeur.

Cette thèse aura lieu à Grenoble, au CEA, l’endroit idéal pour les activités calcul haute performance et compilation. Avoir une expérience dans le domaine du calcul intensif serait un plus.

Le candidat devra avoir un niveau master ou école d’ingénieur en informatique, connaître l’architecture des ordinateurs et la compilation.

Me contacter par mail pour candidater : mailto:Henri-Pierre.Charles@cea.fr

 

Publicités

Optimisation de code grâce à la restructuration des données

J’ai eu le plaisir de participer au jury de thèse de Christopher Haine à Bordeaux.

Résumé de la thèse : Bien penser la structuration de données est primordial pour obtenir de hautes performances, alors que les processeurs actuels perdent un temps considérable à attendre la complétion de trans actions mémoires. En particulier les localités spatiales et
temporelles de données doivent être optimisées. Cependant, les transformations de structures de données ne sont pas proprement explorées par les compilateurs, en raison de la difficulté que pose l’évaluation de performance des transformations potentielles. De plus, l’optimisation des structures de données est chronophage, sujette à erreur et les transformations à considérer sont trop nombreuses pour être implémentées à la main dans l’optique de trouver une version de code efficace.

On propose de guider les programmeurs à travers le processus de restructuration de données grâce à un retour utilisateur approfondi, tout d’abord en donnant une description multidimensionnelle de la structure de donnée initiale, faite par une
analyse de traces mémoire issues du binaire de l’application de l’utilisateur, dans le but de localiser des problèmes de stride au niveau instruction, indépendamment du langage d’entrée. On choisit de focaliser notre étude sur les transformations de structure de données, traduisibles dans un formalisme proche du C pour favoriser la compréhension de l’utilisateur, que l’on applique et évalue sur deux cas d’étude qui sont des applications
réelles, à savoir une simulation d’ondes cardiaques et une simulation de chromo- dynamique quantique sur réseau, avec différents jeux d’entrées. La prédiction de performance de
différentes transformations est conforme à 5% près aux versions réécrites à la main.

Mots clés: Profilage de performance, Restructuration de données,
Vectorisation, Réécriture de binaire

La thèse à été présentée devant le jury suivant:

Henri-Pierre CHARLES Directeur de Rercherche CEA-LIST Grenoble Rapporteur
Allen MALONY Professeur, Universite de l’Oregon  Rapporteur
Emmanuel JEANNOT Directeur de Recherche, Inria Examinateur
Pascale ROSSE-LAURENT Ingénieur Atos Examinateur
Olivier AUMAGE Chargé de Recherche, Inria  Encadrant
Denis BARTHOU Directeur de Recherche, Inria Directeur de Thèse

Compte rendu des rencontres francophones de la compilation

Merci à tous les participants qui ont résisté à la chaleur et ont assisté aux exposés de ces rencontres sur la compilation. Quelques ajustement ont été fait à l’ordre du jour.

La copie des présentation des exposés seront bientôt disponibles sur le site des rencontres : http://compilfr.ens-lyon.fr/douzieme-rencontre-compilation/

IMG_20170622

Publication du programme des rencontres francophones de la compilation

Le programme des rencontres francophones de la compilation est finalisé. Inscription sur le site suivant : Inscription : http://gipco-adns.com/site/5956/inscription+aux+journees+compilation

Toutes les informations sur le site du workshop http://compilfr.ens-lyon.fr/douzieme-rencontre-compilation/

Mercredi 21 Juin:

  • Session 1: 14h-16h: Architectures en rupture
    • Denis Dutoit & Eric Gutmuller (CEA – 1h): 3D Stacking et Caches in NOC
    • David Furoret (Upmem – 1h): Architecture PIM et problématiques
  • Pause
  • Session 2: 16h45 – 18h15: Architectures en rupture (suite)
    • Benoit dupont-de-Dinechin (Kalray – 1h): Titre à définir
    • Rabah Bouziane (PhD – 30 min): Silent stores optimization to reduce write activities to non-volatile memory
  • Diner: 19h

Jeudi 22 Juin :

  • Session 3: 8h30-10h: Instrumentation
    • Antoine Moynault & Pierrick Bouvier (Tutorial – 1h30): QEMU plugin
  • Session 4: 10h40-12h: Obfuscation/debugging
    • Serge Guelton (QuarksLab – 40 min): Obfuscations avancées
    • Emmanuelle Saillard (Post-doc – 40 min): Titre à préciser
  • Déjeuner
  • Session 5: 13h30-15h20: GPU
    • Florian Gouin (PhD – 40 min): Méthodologie de placement d’algorithmes de traitement d’images sur architectures massivement parallèles de type GPU
    • Victor Lomuller (CodePlay – 1h): C++ sur accélérateurs: Utilisation de Clang pour le support de SYCL
  • Social event (bus à 15h30)
  • Diner: 19h30

Vendredi 23 Juin:

  • Session 6: 8h30-10h: Compilation polyédrique
    • Christophe Alias & Alexandru Plesco (Conf – 30 min): Compacting Affine Control with Semantic Factorizations (HLS, polyhedral model, FPGA)
    • Manuel Selva & Julien Pages (Post-doc – 1h): Optimisation polyédrique à l’exécution dans le contexte de langages dynamiques
  • Session 7: 10h40-12h30: Etudiants en recherche d’emploi
    • Yon Fernandez de Retana (PhD – 40 min): Sea-of-Nodes : Sémantique et preuve d’optimisations
    • Vaddina Kameswar Rao (PhD – 30): Energy profiling of embedded systems – experiences learnt so far
    • Nasrine Damouche (Post-doc — 40 min): Titre à définir

Appel a participer : journées de la communauté française de compilation

Les 12ème rencontres de la communauté française de compilation sont en préparation. Les infos: ermitage

Inscrivez vous !

 

 

Appel à participation au Workshop « Raised Challenges by NVRAM »

Vous êtes invités à assister au workshop « Raised Challenges by NVRAM »

Lundi 29 mai après midi et Mardi 30 Mai 2017

Inria, 2 Rue Simone IFF, 75012 Paris https://goo.gl/maps/JtnFhA1qaSS2  Room JL Lions 2 (C014)

Formulaire d’inscription http://goo.gl/WBZnLj

Date limite d’inscription : 22 Mai

Inscription gratuite.

Programme détaillé à télécharger : Worshop-NVRAM-Program-Final-V3

Programme résumé :

  • Kevin Marquet Inria :Impact of emerging memories on various fields of
    computer science ; introduction to the workshop
  • Lionel Torres LIRRM : From Embedded World to High Performance
    Computing using STT-MRAM
  • Stéphane Gros and Yeter Akgul Evaderis : Maximize energy efficiency in
    normally-off system using NVRAM
  • Erven Rohou Inria : NVRAM: New Opportunities for Compilers
  • Patrick Demichel HPE : The role of NVM in the future of HPC workloads
  • Ivan Miro-Panades CEA : L-IOT : A flexible Platform for ultra-low
    power IoT
  • Ismail Oukid SAP : Towards a single-level database architecture on
    byte-addressable non-volatile memory
  • Michel Harrand CEA :Breaking the Memory Bottleneck in Computing
    Applications with Emerging Memory Technologies: a System, Design, and
    Technology Perspective
  • Guillaume Salagnac Inria : Peripheral State Persistence For
    Transiently Powered Systems

Program Committee : Henri-Pierre Charles, Kevin Marquet, Fabrice Rastello

Soutenance de thèse de Nelson LOSSING

Nelson Lossing a soutenu sa thèse intitulée « Compilation pour machines à mémoire répartie : une approche multipasse » le 3 Avril 2017.

Le jury était composé par :

  • M Henri-Pierre Charles CEA-LIST, Rapporteur
  • M Frederic Desprez Inria, Rapporteur
  • Mme Elisabeth Brunet Telecom SudParis, Examinatrice
  • Mme Christine Eisenbeis Inria, Examinatrice
  • M Antoniu Pop University of Manchester, Examinateur
  • Mme Corinne Ancourt MINES ParisTech, Maître de thèse
  • M François Irigoin MINES ParisTech, Directeur de thèse

La photo pendant la lecture du rapport de soutenance pour lui remettre le titre de docteur de l’Université de recherche Paris Sciences et Lettres :

2017-04-13-Lossing-Nelson-Soutenance

Le résumé de la thèse est le suivant :

Les grilles de calculs sont des architectures distribuées couramment utilisées pour l’exécution de programmes scientifiques ou de simulation. Les programmeurs doivent ainsi acquérir de nouvelles compétences pour pouvoir tirer partie au mieux de toutes les ressources offertes. Ils doivent apprendre à écrire un code parallèle, et, éventuellement, à gérer pour une mémoire distribuée. L’ambition de cette thèse est de proposer une chaîne de compilation permettant de générer automatiquement un code parallèle distribué en tâches à partir d’un code séquentiel. Pour cela, le compilateur source-à-source PIPS est utilisé. Notre approche a deux atouts majeurs : 1) une succession de transformations simples et modulaires est appliquée, permettant à l’utilisateur de comprendre les différentes transformations appliquées, de les modifier,  de les réutiliser dans d’autres contextes, et d’en ajouter de nouvelles; 2) une preuve de correction de chacune des transformations est donnée, permettant de garantir que le code généré est équivalent au code initial. Cette génération automatique de code parallèle distribué de tâches offre également une interface de programmation simple pour les utilisateurs. Une version parallèle du code est automatiquement généré à partir d’un code séquentiel annoté. Les expériences avec deux machines parallèle, effectuées sur des noyaux de Polybench, montrent des
accélération moyenne égal à la moitié du nombre de processus lancés.

DCAHPO workshop program

We have published the program of the first DCAHPO workshop. https://dcahpo.wordpress.com/

This will take place before the CGO conference in Austin http://cgo.org/cgo2017/

Attend to the first session to hear about dynamic compilation and come to the second session to discuss about dynamic compilation and hardware support for heterogeneity, dynamic compilation and optimization.

 

New deadlines for DCAHPO workshop

Due to organization constraint we have delayed the deadline of the DCAHPO workshop. The workshop is still  in February 4, 201, the web site for more information is here : https://dcahpo.wordpress.com/

The workshop still focus on hardware and software aspects of dynamic compilation (JIT and other kind of code generation)

  • Paper : submission December 23,
  • Author notification January 6
  • Final manuscript January 15

 

Post-doc position available

Topic: Micro-programming optimization of “in-memory computing” circuits

Download full proposal

The concept of “in-memory computing”, which consists in bringing computation tasks inside the memory macro, is a novel and promising approach where we need to explore new computing algorithms and methodologies. This approach differs in particular from those known as « processing-in-memory » (PIM) that aim at moving computation elements near the memories (especially DRAM) without changing their internal architecture. Our approach called DRC² (Dynamically Reconfigurable Computing Circuit) consists in adapting conventional memory peripheral circuits (I/O, address decoder, …) to perform logic (AND, OR, XOR, …) and arithmetic (addition/subtraction, …) operations inside the memory macro (SRAM or NVM).  

We are looking to recruit a highly motivated post-doctoral researcher to develop an optimized micro programming environment for an “in-memory computing” circuit based on DRC² concept. He/she will interact with both circuit design and software teams to propose an efficient architecture and software tools. More precisely, he/she will:

  • Perform a bibliography on potential applications and dedicated programming languages.

  • Select key applications and propose an architecture based on DRC² to take advantage of the DRC² capabilities.

  • Develop system-level testbenches to evaluate speed and power enhancements compared to existing solutions.

  • Interact with circuit design team in order to finely understand the DRC² concept.

  • Help to develop a testchip based on DRC² concept driven by a specific set of instructions. The final output will be the electrical validation of a testchip.

Such a co-optimization, i.e. a continuous feedback between design and software teams, is crucial and required for project success.

Required skills:

  • Compilers: memory models, tools for parallelism extraction, low-level parallelism, low level code generation, …

  • Knowledge on algorithm

  • Computing architecture: instruction set architecture, memory hierarchy, vector architecture, …

  • Collaboration between design team and compiler team

Appreciated skills:

  • Knowledge in circuit design (digital and/or full custom)

  • Writing skills for academic publications

Supervisors :

  • GIRAUD Bastien (memory design) Phone: +33 (0)4 38 78 17 58, E-mail: bastien.giraud@cea.fr
  • FOURNIER Jacques (security)
  • CHARLES Henri-Pierre (vision)