Le mésocentre, en collaboration avec ses partenaires, propose des formations concernant le outils de développement, qu’il s’agisse d’outils de développement ou de langages de programmation. Cette formation se donne pour objectif d’exposer ses participants à divers aspects d’un processus de développement et de maintenance d’application en langage C. Elle s’appuie sur des transparents et surtout sur des travaux pratiques.

  • Présentation
  • TP Du code source à l’exécutable
  • TP les entiers
  • TP les pointeurs
  • TP un petit calculateur
  • TP préprocesseur
  • TP Portée, visibilité, durée de vie
  • TP allocation dynamique
  • TP structure
  • Quel est le compilateur disponible et comment l’utiliser


    Compilateur

    Nous avons mis en place la suite Intel 13 de compilateurs pour C++, C et fortran. Ces compilateurs sont appelés respectivement par icpc, icc et ifort.

    Ils sont disponibles par défaut, mais vous pouvez les appeler explicitement pour les avoir dans votre environnement. Il suffit d’exécuter le script /softs/intel/composer_xe_2013/env.sh. On peut vérifier ces variables d’environnement avec ce qui suit :

    Options courantes

    Chaque compilateur a sa propre page man (de manuel), mais certaines options sont mentionnées ici :

    • Précision en virgule flottante

    Par défaut, certaines optimisations privilégient la rapidité au détriment de la précision.

    Si la précision est un facteur important pour votre code, vous pourrez compiler avec l’option -fp-model precise (lire man icc pour des informations plus détaillées sur l’optimisation)

    • MKL la librairie mathématique

    Les librairies les plus usuelles (BLAS, LAPACK, etc...) sont fournies dans MKL. La documentation complète est , mais dans la majorité des cas il suffit de "linker" avec l’option -mkl .

    IMPI

    Cette librairie est accessible via la dernière version du compilateur . Cette version est accessible en exécutant l’environnement /softs/env-intel14-impi41.sh.

    https://software.intel.com/sites/products/documentation/hpc/ics/impi/41/lin/Reference_Manual/


    Les logiciels

    La plupart des logiciels nécessaires sont dans le répertoire /softs. Ce répertoire est monté sur les 2 plateformes de login et sur tous les nœuds de calcul. Vous avez donc le même environnement logiciel sur les 2 plateformes de login ET sur tous les nœuds de calcul (connexion possible par une session interactive)

    Conventions

    Tous les logiciels supportés utilisent la convention suivante :

    Nom du logiciel.version.compilateur

    Il y a quelques exceptions par exemple :

    boost_1_47_0.ompi144.intel-11 fait référence à la librairie boost construite avec Open MPI 1.4.4.

    Il y a aussi des produits commerciaux qui ont leur propre convention de nommage.

    Variables d’environnement

    1. Pour BASH
      Votre environnement par défaut est chargé par le fichier  /.bashrc ; il charge entre autres le script  /.licallorc qui lui même charge le script /softs/env_default.sh. Donc vous avez un environnement par défaut qui est chargé.
      Attention donc si vous éditez ces fichiers.
    2. Pour CSH
      Quand vous vous connectez avec csh ,les commandes dans /etc/csh.cshrc et /etc/csh.login sont exécutés. Le fichier /etc/csh.login charge votre environnement par défaut par le script  /.licallo-csh qui lui même charge /softs/env-defaults.csh .

    Si vous avez besoin de modifier l’environnement par défaut, le principe général est le suivant :

    Un composant logiciel qui nécessite un environnement spécifique, fournit généralement 2 scripts, /softs/component/env.sh pour le bash , et /softs/component/env.csh pour le csh ; suivant votre shell, l’un ou l’autre des 2 scripts a besoin d’être chargé pour positionner les bonnes variables d’environnement ; vous allez donc personnaliser votre fichier de login  /.licallorc (bash) ou .licallo-csh (csh) en chargeant l’un ou l’autre.

    Sous-catégories