T8.A04 - C11 pour le calcul scientifique : Threads et atomiques en C11

Retour à la thématique
Retour au programme

  • Animateur(s) : Jens Gustedt - Directeur de recherche INRIA et membre du laboratoire ICube, Strasbourg
  • Date : Juillet
  • Heure :
  • Salle :
  • Autre(s) Thématique(s) :

Niveau

  • Intermédiaire

Pré-requis (intra et extra programme) :

  • Avoir des notions de C et de la programmation parallèle

PUBLIC VISE

  • Informaticien, scientifique
  • Nombre maximum de personne : 30

OBJECTIF

  • Savoir utiliser les API‘s de threads et d'atomiques en C nouvelle version (C11)

DESCRIPTION

Depuis des dizaines d'années tous les processeurs sur le marché disposent des instructions atomiques qui permettent l'accès concurrent aux données par différents threads. Mais seulement récemment les langages C et C++ ont réussi à standardiser les interfaces pour accéder à ces opérations et fournissent également un modèle de thread (processus léger) et de structures de contrôle classiques (mutex, conditions). Tous ces outils ont l'avantage d'être relativement simples et directs. Ils évitent le paramétrage compliqué comme par ex. l'API POSIX.

Cet atelier propose de la programmation avec ces outils, et permettra une petite comparaison des différents structures de contrôle. Le but est de vous convaincre que des atomiques simples peuvent souvent suffire (et être plus efficaces), là où anciens interfaces nous imposent la gestion compliquée de sections critiques avec mutex, conditions ou des sémaphores.

Intervenant : Jens Gustedt, directeur de recherche INRIA et membre du laboratoire ICube, Strasbourg. Jens Gustedt est membre du comité ISO de standardisation du langage C, bloggeur et auteur d'un livre “Modern C” qui est en cours de rédaction téléchargeable ici

INSTALLER SON ORDINATEUR

  • OS : devrait être indépendent de l'OS, mais une libc récente qui réalise les threads C11 est importante. Sous Linux ce serait la bibliothèque “musl” qui est facile à installer. Sous Windows, existent aussi des package qui implémentent cela.
  • Matériel : PC multi-coeur
  • Logiciels : un compilateur C récent, si possible déjà C11, p.ex gcc 4.9 ou clang 3.6 et comme indiqué une libc qui implémente les threads C11
  • VM : VirtualBox installé

DOCUMENTS/RESSOURCES

  • énnoncé
  • sites
 
jdev2015/t8.a04.txt · Dernière modification: 2015/06/24 16:29 par b.dutailly@pacea.u-bordeaux1.fr
 
Recent changes RSS feed Powered by PHP Powered by Pxxo Driven by DokuWiki