Réunion Comics 15/01/2014

Présents : Michele Amato, Salim Berrada, Arnaud Bournel, Philippe Dollfus, Jérôme Larroque, Mai Chung Nguyen, Jérôme Saint Martin, Su Li, Tran Van Truong, Adrien Vincent.

Papers

Salim and Philippe with Plaçais group about Klein transistor nearly accepted (IOP 2D mat).

Monastir paper with Arnaud about optical effects in GeSn quantum wells accepted for JAP: « Wave-function engineering and absorption spectra in Si0.16Ge0.84/Ge0.94Sn0.06/Si0.16Ge0.84 strained on relaxed Si0.10Ge0.90 type I quantum well ». But not very original in comparison of a previous paper on Ge wells. Naima as 1st author.

Conferences

ISCAS of Adrien accepted! In Australia in June.

Next deadlines: tomorrow for E-MRS -> Michele has already submitted, Jérôme L. should write an abstract too. In Lille May 19-24.

Summer school Graphene 2014 -> Truong and Mai Chung (?). Deadline for the conference Graphene (Toulouse) = 1/2 -> Trung, Mai Chung.

IWCE, deadline 28/1. Same day as Comics lunch!

Ulis, February 3 but…

Next Comics meetings

On Monday afternoon. About 1 per month.

A (very) short introduction to Density Functional Theory, by Michele

(pdf here)

-> For atomic structure, thermodyn, chemical, electronic and scattering properties.

Nobel prize for DFT in chemistry. 1998: Walter Kohn and John Pople.

Semi-empirical methods (Hückel, based on Hartree-Fock formalism) -> good for large systems. Can fail if the computed molecule is not close to the database of parametrized molecules.

DFT -> very good scalability.

Many body problem -> Ne electrons, Nn nuclei, Schrödinger equation to solve… With kinetic energies and potential: repulsion between nuclei, between electrons and between electrons and nuclei. How to deal with 1023 particles?

Born-Oppenheimer separation -> nuclei frozen in their equilibrium positions. But wavefunctions remain very complex! And experimentally measurable. While electron density is observable, e.g.by X-rays.

Hohenberg-Kohn theorem I: the relation between the potential and the electron density is invertible. Then, the ground state expectation value of any observable depends only on the electron density.

Hohenberg-Kohn theorem II: the total energy functional has a minimum, the ground state energy E0, in correspondence to the ground state density r0 -> proof of the existence of the universal functional without determining it.

Kohn-Sham scheme -> r0 can be calculated thanks to an artificial system of non-interacting particles. Using one-particle orbitals which are not real wavefunctions. And Kohn-Sham potential = vion(r) + vH(r) + vxc(r) where vH describes the classic electrostatic potential and vxc is the exchange-correlation potential, for taking into account the effect of interactions between particles.

Approximation for vxc -> local description.

Self consistent flow diagram to solve the Kohn-Sham scheme, as a function of the density.

De-freezing the nuclei… Cf. Feynman, Phys Rev 56 (4), 340 (1939) “Forces in molecules” (http://dx.doi.org/10.1103/PhysRev.56.340) -> Hellmann-Feynman theorem for an analytical solution. Wikipedia: proven independently by many authors, including Paul Güttinger (1932), Wolfgang Pauli (1933), Hans Hellmann (1937) and Richard Feynman (1939). This does not correspond to phonon problem!

 

For further development :

RevModPhys.71.1253 
RMP_61_689 
DFT_NATO
g1

Réunion COMICS 23/02/2012

  • Actualités : nos nanomesh à la une d’IOP, P2N MOSInAs+TeXMex soumis, cluster pratique cf . COMICS WEB
  • A faire : Ménage le 5 mars 121b (accueil les tunisiens), Conf’ graphène
  • Point biblio par Damien : IEEE TED HSP Wong « Monte Carlo modeling of ReRam »
  • Présentation : Yann, de Carnot à Curzon-Ahlborn (et au-delà)

Continue reading « Réunion COMICS 23/02/2012 »

Utiliser les clusters de calcul — plein d’infos !

Utiliser les machines

PAS TOTALEMENT A JOUR

Se logger sur les nœuds watson

 

On peut se connecter aux nœuds depuis watson par « ssh c0-X », où X est le numéro du nœud auquel on veut se connecter.
Communication sur les incidents

Désormais nous communiquerons les incidents et leur résolution sur mailtoutcomics, ce qui permettra à tout le monde de mieux gérer les situations.

Si vous avez un problème passez voir Christophe, ou moi si Christophe n’est pas là. Si aucun de nous n’est disponible, envoyez votre problème à mailtoutcomics ! Comme ça toute personne qui reconnaît le problème peut répondre ou agir très vite.

 

Aux utilisateurs de python :

Sur notre nouvelle installation de watson, la situation de python a un peu changé.

En fait il y a 3 versions de python installées, ce mail décrit la situation !

 

  1. Python de CentOs

Le cluster utilise un linux assez ancien (donc stable) qui utilise python 2.4 .  C’est celui qui vient si on tape « python » et il est dans /usr/bin . Ce python n’a pas les librairies pour la sciences (numpy, etc..) et je vous déconseille de l’utiliser pour la science.

 

  1. Versions de python pour la recherche

Dans /opt/python/bin, Christophe a mis les versions de python *pour la recherche* . Il s’agit de python 2.7 (recommandé) et de python 3.2 (pour ceux qui veulent le tester). Les librairies pour la science y sont installées (numpy, scipy, matplotlib pour l’instant).

 

Pour y avoir accès, vous pouvez par exemple rajouter au fichier .csh

 

if ( -d /opt/python/bin ) then
    setenv PATH ${PATH}:/opt/python/bin
    alias f2py « python2.7 /opt/python/bin/f2py »
endif

 

puis lancer python par « python2.7 » ou « python3.2 ». Je vous conseille de bien mettre /opt/python/bin à la fin du PATH (comme j’ai fait), et non pas au début, pour ne pas écraser la commande « python » du système.

 

Notez l’alias que j’ai créé pour utiliser f2py. C’est indispensable, sinon f2py s’embrouille entre les versions de python !!!

 

Enfin,  ipython est installé et fonctionne avec python2.7 .

« ipython –pylab » lance une interface assez analogue à matlab.

 

 

MATLAB

 

MATLAB R2009B est désormais installé sur watson et sur ses nœuds. Cette installation est faite uniquement pour lancer des gros calculs. Pour des calculs interactifs avec interface graphique, vous pouvez utiliser les installations MATLAB sur vos stations .

 

Attention la commande « matlab » lance l’interface graphique ultra lourde. Elle est trop lourde sur watson -> elle va gêner les autres utilisateurs, et elle ne fonctionne pas sur les nœuds.

Utilisez donc plutôt « matlab –nodisplay » qui fonctionne sans graphismes.

 

MATLAB est installé dans /share/apps/matlab/bin . Pour l’utiliser, je vous conseille d’ajouter à votre fichier .cshrc :

 

if ( -e /share/apps/matlab/bin/matlab) then
    setenv PATH ${PATH}:/share/apps/matlab/bin
endif

 

Attention enfin. « matlab –nodisplay blahblah.m » ne lance *pas* blahblah.m  . On utilise plutôt «  matlab –nodisplay < blahblah.m » !

 

Pour finir, exemple d’un fichier batch qui lance un script MATLAB :

 

#!/bin/sh
#nom du job
#PBS  -N testmatlab
#choix du cluster
#PBS  -q  default
#temps maximum de restitution du calcul
#PBS -l walltime=1500:00:00
#memoire requise par le processus
#PBS  -l  mem=1000mb
#positionnement dans le repertoire « home » qui contient le code source
cd /user/querlioz/test
matlab -nodisplay <test.m >out0

 

Compilateurs Intel :

 Christophe a installé des versions modernes des compilateurs Intel Fortran, C et C++.

Pour les utiliser il faut d’abord lancer un script, qui dit si on veut les utiliser en 32bits ou 64bits.

 

Pour utiliser ifort en 32bits :

source /opt/intel/bin/ifortvars.csh ia32

 

Pour utiliser ifort en 64bits

source /opt/intel/bin/ifortvars.csh intel64

 

Monaco ne se compile qu’en 32bits. Et il est recommandé d’utiliser l’option « -mp » pour désactiver certaines optimisations qui affectent la précision des calculs.

 

Pour utiliser le compilateur C/C++, c’est pareil :

source /opt/intel/bin/iccvars.csh ia32

ou

source /opt/intel/bin/iccvars.csh intel64

 

Les compilateurs Intel possèdent de très nombreuses optimisations pour profiter des architectures modernes des processeurs de calcul. Ça vaut le coup d’explorer les différentes options disponibles dans la documentation.

Habituellement, un code compilé par Intel est plus rapide qu’un code GNU (gcc/g++/g77/gfortran). C’est particulièrement vrai pour le code Fortran90 (gfortran n’est pas très performant).

 

Habituellement le code est compatible entre GNU et Intel mais il peut y avoir des problèmes si on utilise des fonctions avancées du C++ ou des structures obsolètes en Fortran77.

Les .so sont compatibles entre GNU et Intel, mais pas les .o .

 

 

Infos obsoletes

On voit la liste des jobs (les programmes lancés sur le cluster) en cours avec « qstat ». On peut aussi observer l’occupation des nœuds sur un navigateur Internet http://watson.ief.u-psud.fr/ganglia/

« qstat –n » dit sur quel nœud du cluster chaque job tourne.

 

Lancer un job

On lance un job avec la commande « qsub batch » où batch est un fichier qui décrit quoi lancer .

qsub trouve alors tout seul un nœud avec assez de processeurs et assez de mémoire disponible pour lancer le batch. Il remplit les machines en commençant par les grands numéros de nœuds.

Pour arrêter un job qui a été lancé, on utilise « qdel numéro », où numéro est le numéro du job (qu’on peut trouver par exemple avec qstat)

 

Voilà un exemple de batch :

 

#!/bin/sh
#nom du job, tel qu il apparaitra dans qstat
#PBS  -N mitP2_10_3.5_1e16
#choix du cluster : laisser default
#PBS  -q  default
#temps maximum de restitution du calcul
#PBS -l walltime=1500:00:00
#memoire requise par le processus
#si le processus depasse l occupation memoire indiquee ici, il sera arrete brutalement
#PBS  -l  mem=1000mb
#positionnement dans le repertoire « home » qui contient le code source
#c est imperatif de bien renseigner cette ligne !
cd /user/querlioz/vegas0.2/mitP2_10_3.5_1e16
#lancement de l’executable avec ecriture des resultats dans le « local_tmp »
#on peut en mettre plusieurs à la suite si on veut
./vegas0.2.py 0.10 < MIT > out

 

Pour ceux qui font du MPI, on peut rajouter une option « #PBS  -l   ncpus=XX  » qui dit le nombre de processeurs dont on a besoin.

 

Redondance

Nous garderons les deux clusters toujours allumés. Comme ça si l’un est en panne/a un disque rempli/etc… vous pourrez toujours utiliser l’autre pendant les opérations de maintenance.

Pour info, les nœuds de sherlock sont plus anciens et globalement moins performants que ceux de watson.

private COMICS pages

Others USEFULL INFORMATIONS:

ARCHIVES

N’hésitez pas à ajouter vos propres post !!!

Conseils pour l’écriture

Maybe it was all those late nights as an undergraduate struggling to fill out mandatory ten-page papers that made us think the only worthwhile writing is long and drawn out. While it’s more difficult to express yourself in the simplest possible manner, it’s so much more effective. More work for you means less work for your reader.
Continue reading « Conseils pour l’écriture »